<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>





	<title>CodeProject: A Vector Graphics Rendered Animated Clock. Free source code and programming help</title> 
	<link type="text/css" rel="stylesheet" href="vgclock.aspx_files/CodeProject.css">
<link type="text/css" rel="stylesheet" href="vgclock.aspx_files/ForumClassic.css">
<style type="text/css">
#ATD {position: absolute;top: -90px;left: -5000px;z-index: 200;display: none;white-space:nowrap;background-color:white;padding:10px;border: solid 1px #999;}
</style>


	
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Description" content="Demonstrates Using MyXaml With A Vector Graphics Engine To Create An Analog Clock; Author: Marc Clifton; Section: .NET Framework; Chapter: Platforms, Frameworks &amp; Libraries">
<meta name="Keywords" content="Win2K, WinXP, Win2003, C++, C#, .NET, Visual Studio, MFC, Dev, XAML, Intermediate,.NET Framework,Platforms, Frameworks &amp; Libraries,Free source code, tutorials">
<meta name="Author" content="The Code Project">
<meta name="Rating" content="General">
<meta name="Robots" content="index, follow">
<meta name="Revisit-After" content="1 days">
<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - All topics" href="http://www.codeproject.com/webservices/articlerss.aspx?cat=1">
<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - MFC / C++" href="http://www.codeproject.com/webservices/articlerss.aspx?cat=2">
<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - C#" href="http://www.codeproject.com/webservices/articlerss.aspx?cat=3">
<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - ASP.NET" href="http://www.codeproject.com/webservices/articlerss.aspx?cat=4">
<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - .NET" href="http://www.codeproject.com/webservices/articlerss.aspx?cat=5">
<link rel="alternate" type="application/rss+xml" title="CodeProject Latest articles - VB.NET" href="http://www.codeproject.com/webservices/articlerss.aspx?cat=6">
<link rel="alternate" type="application/rss+xml" title="CodeProject Lounge Postings" href="http://www.codeproject.com/webservices/LoungeRSS.aspx">
<link rel="search" type="application/opensearchdescription+xml" title="CodeProject" href="http://www.codeproject.com/info/OpenSearch.xml">
	<!-- base -->
	<link rel="icon" href="http://www.codeproject.com/favicon.ico" type="image/ico">
<link rel="shortcut icon" href="http://www.codeproject.com/favicon.ico" type="image/ico">
<script type="text/javascript" language="Javascript" src="vgclock.aspx_files/jquery-1.js"></script>
<script type="text/javascript" language="Javascript" src="vgclock.aspx_files/ShortCuts.js"></script>
<script type="text/javascript" language="Javascript">//<![CDATA[
if(top!=self)top.location.href=location.href; if(typeof(DemoUrl)!="undefined")document.write(unescape('%3Cme')+'ta http'+'-equiv="re' +'fresh" con'+'tent="1;url='+DemoUrl+unescape('"%3CE'));
function LK(e) { var lounge  = document.getElementById("ctl00_TopNavBar_Lounge"); var soapbox = document.getElementById("ctl00_TopNavBar_Soapbox"); if (lounge && soapbox) {   lounge.style.display = e.ctrlKey? "none" : "inline";  soapbox.style.display = e.ctrlKey? "inline" : "none"; }}
function LC(e) {
 window.location.href = e.ctrlKey ? '/script/Forums/View.aspx?fid=1536756':'/Lounge.aspx';
 if (document.all) e.returnValue = false; else e.preventDefault();
}
function ToggleMenu(itemName)
{
	var elm = document.getElementById(itemName);
	var i,others = document.getElementById('SectionMenu');
	for(i=0; i < others.childNodes.length; i++)
	{
		var other = others.childNodes[i];
		if ((other.className == 'MenuSectionBlock') && (other != elm))
			other.style.display='none';
	}
	if (elm.style.display == 'block') elm.style.display='none';
	else elm.style.display='block';
	return false;
}

function ChkRtctl00_RateArticle(val, objId) {if (val<=2) {$('div[name=RateItem_' + objId + '] .RateComDiv').css("display","");}else $('div[name=RateItem_' + objId + '] .RateComDiv').css("display","none");}
function MarkAns(MemberID,MsgID,gp,bp,mt,QID){
 document.write(unescape("%3Ca href=\"#xx" + MsgID.toString() + "xx\"  onclick=\"RateMsg("+MemberID.toString()+","+MsgID.toString()+",6,"+QID.toString()+");\"%3E"));
 document.write(unescape("%3Cimg height=\"20\" width=\"20\" src=\"/script/Forums/Images/good.png\" alt=\"good\" border=\"0\" align=\"absmiddle\" /%3E "+gp+" "+mt+"%3C/a%3E "));
 document.write(" &nbsp;"); document.write(unescape("%3Ca href=\"#xx" + MsgID.toString() + "xx\"  onclick=\"RateMsg("+MemberID.toString()+","+MsgID.toString()+",7,"+QID.toString()+");\"%3E"));
 document.write(unescape("%3Cimg height=\"20\" width=\"20\" src=\"/script/Forums/Images/bad.png\" alt=\"bad\" border=\"0\" align=\"absmiddle\" /%3E "+bp+" "+mt+"%3C/a%3E"));
 document.write(" &nbsp;&nbsp; "); document.writeln(unescape("[%3Ca href='#xx") + MsgID.toString() +"xx' title='Report as Abuse' onclick='return ReportMsg(" + MemberID.toString());
 document.writeln(", " + MsgID.toString() + unescape(",-2)'%3EVote to Remove Message%3C/a%3E]"));
}

function MsgVFrm(MemberID,MsgID,GB,gp,bp,mt){
 if(!GB)document.write("Rate this message: ");
 document.write(unescape("%3Ca href=\"#xx" + MsgID.toString() + "xx\" onclick=\"RateMsg(" + MemberID.toString() + ", " + MsgID.toString() + ","));document.write((GB?"5":"1")+unescape(",0);\"%3E"));
 if(GB) document.write(unescape("%3Cimg height=\"20\" width=\"20\" src=\"/script/Forums/Images/good.png\" alt=\"good\" border=\"0\" align=\"absmiddle\" /%3E "+gp+" "+mt+"%3C/a%3E "));
 else document.write(unescape("%3Cimg height=\"14\" width=\"14\" src=\"/script/Forums/Images/thumbs_down.gif\" alt=\"vote 1\" border=\"0\" align=\"middle\" /%3E%3C/a%3E "));
 if(GB)document.write(" &nbsp;"); else for(var i=1; i<=5;i++)
  document.write(unescape("%3Ca class=\"Frm_MHL\" href=\"#xx" + MsgID.toString() + "xx\" title=\"vote this message a " + i.toString() + "\" onclick=\"RateMsg(" + MemberID.toString() + ", " + MsgID.toString() + ", " + i.toString() + ",0)\"%3E%3Cb%3E" + i.toString() + "%3C/b%3E%3C/a%3E "));
 document.write(unescape("%3Ca href=\"#xx" + MsgID.toString() + "xx\" onclick=\"RateMsg(" + MemberID.toString() + ", " + MsgID.toString() + ","));document.write((GB?"1":"5")+unescape(",0);\"%3E"));
 if(GB)document.write(unescape("%3Cimg height=\"20\" width=\"20\" src=\"/script/Forums/Images/bad.png\" alt=\"bad\" border=\"0\" align=\"absmiddle\" /%3E "+bp+" "+mt+"%3C/a%3E"));
 else document.write(unescape("%3Cimg height=\"14\" width=\"14\" src=\"/script/Forums/Images/thumbs_up.gif\" border=\"0\" alt=\"vote 5\" align=\"middle\" /%3E%3C/a%3E "));
 if(GB)document.write(" &nbsp;&nbsp; "); else document.write(unescape("%3Cbr /%3E")); document.writeln(unescape("[%3Ca href='#xx") + MsgID.toString() +"xx' title='Report as Abuse' onclick='return ReportMsg(" + MemberID.toString());
 document.writeln(", " + MsgID.toString() + unescape(",-2)'%3EVote to Remove Message%3C/a%3E]"));
}

function ReportMsg(userid, msgid, score) {
 if (confirm("Are you sure you want this message removed?"))
  return RateMsg(userid, msgid, score, 0);
 else return false;
}
function RateMsg(memberid, msgid, score, questionId) {
 var req = new XMLHttpRequest();
 req.onreadystatechange = function() {
  if (req.readyState == 4){
   if (req.status == 200){
    var respText = req.responseText;
    var re = new RegExp(unescape("\%3Cdiv\%3E([^\%3C]*)\%3C/div\%3E"), "g");
    var match = re.exec(respText);
    voteStatus.innerHTML = unescape("%3Cb%3E") + (match&&match[1])?match[1]:"An error occured" + unescape("%3C/b%3E");
   } else
    voteStatus.innerHTML = unescape("%3Cb style='color:red'%3EFailed!") + req.statusText + unescape("%3C/b%3E");
  }
 }
 var voteStatus = document.getElementById("MVF" + msgid);
 if (!voteStatus) return;
 voteStatus.innerHTML = unescape("%3Cb style='color:green'%3EVoting...%3C/b%3E");
 var strAction = "/script/Forums/Vote.aspx?js=1&fmid="+memberid.toString()+"&select="+msgid.toString()+"&score="+score.toString()+"&qid="+questionId.toString();
 req.open("GET", strAction, true);
 req.send(null);
  return false;
}
var Selected = "-1";
function Pin(elm){
 CloseMsg(Selected);
 var wrk=elm.parentNode; if(wrk)wrk=wrk.firstChild;
 var fc=elm?elm.firstChild:null;
 if (wrk&&!wrk.pinned) {
  OpenMsg(wrk.name, true);wrk.pinned=true;fc.src='/script/forums/images/pinned.gif';fc.title='Pinned. Click to unpin'
 } else {
  wrk.pinned=false;CloseMsg(wrk.name); fc.src='/script/forums/images/pin.gif';fc.title='Click to pin message'
 }
 return false;
}
function CloseMsg(msgId) {
 if(!msgId||(msgId==''))return;
 var lnk=document.getElementsByName(msgId);
 if(lnk&&lnk.length>0&&lnk[0].pinned)return;
 var head=eval("document.getElementById('F" + msgId + "_h0')");
 if(head) head.className = head.className.replace("Sel", "UnSel");
 var body=eval("document.getElementById('F" + msgId + "_h1')");
 if(body) body.style.display = 'none';
}
function OpenMsg(msgId, keep) {
 if(!msgId||(msgId==''))return;
 var body=eval("document.getElementById('F" + msgId + "_h1')");
 if(body){
  var lnk=document.getElementsByName(msgId);
  if(lnk&&lnk.length>0&&lnk[0].pinned)keep=true;
  if(keep&&body.style.display!='none')return;
  if(body.style.display=='none') body.style.display='';
  else body.style.display = 'none';
 }
 var head=eval("document.getElementById('F" + msgId + "_h0')");
 if (head) head.className = head.className.replace('UnSel', 'Sel');
 if(body&&head&&body.style.display!='none'){
  document.body.scrollTop = getRealPos(head, 'Top') - document.body.clientHeight/10;
  EnsureMessageVisible(msgId, true);
 }
}

function SwitchMessage(e, msgId)
{
  if (msgId) msgId=msgId.toString();
  else {
    if(!e)e=window.event;
    var target=e.target?e.target:e.srcElement;
    while(target&&target.id!='DynMessLink')target=target.parentNode;
    if(!target||target.id!='DynMessLink')return;
    if(target.pinned){Selected='';return false;}
    msgId=target.name;
  }
  CloseMsg(Selected)
  if(Selected==msgId) Selected='';
  else { OpenMsg(msgId, false); Selected=msgId;}
  if (e){if(e.preventDefault)e.preventDefault;else e.returnValue=false;}
  return false;
}


//]]></script>

	
<script type="text/javascript">
  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script><script src="vgclock.aspx_files/ga.js" type="text/javascript"></script>
<script type="text/javascript">
if (typeof(_gat) != "undefined" && _gat)
{ 
	var pageTracker = _gat._getTracker("UA-1735123-1");
	pageTracker._setDomainName("www.codeproject.com");
	pageTracker._setSessionTimeout("1200"); // 20 mins
	pageTracker._initData();
	pageTracker._trackPageview();
}
</script>
</head><body>

<a href="#Main"><img alt="Click here to Skip to main content" src="vgclock.aspx_files/t.gif" style="border-style: none; position: absolute; top: 0pt; left: 0pt; width: 1px; height: 1px; z-index: 100;"></a>

<div style="margin: 0px; padding: 0px; width: 100%;">
	<div style="width: 100%;">

<table class="MemberNavBar" cellpadding="5" cellspacing="0" width="100%">
<tbody><tr>
<td style="font-weight: bold;">6,520,315 members and growing! (15,306 online)</td>
<td align="right">

<div id="ctl00_MemberMenu_LoggedOnOptions" class="MemberNavBarText">
	
<a id="ctl00_MemberMenu_MyProfile" href="http://www.codeproject.com/script/Membership/View.aspx?mid=4416419">friendship2007</a> | 
<a id="ctl00_MemberMenu_MySettings" href="http://www.codeproject.com/script/Membership/Modify.aspx">Settings</a> |

<a id="ctl00_MemberMenu_MyCodeProject" href="http://www.codeproject.com/script/Membership/MyCodeProject.aspx"><b>Watched Items</b></a> |
<a id="ctl00_MemberMenu_MyBookmarks" href="http://www.codeproject.com/script/Bookmarks/List.aspx?obtid=2">Bookmarks</a> |
<a id="ctl00_MemberMenu_MyArticles" href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=4416419">My Articles</a> |

<a id="ctl00_MemberMenu_Signout" href="http://www.codeproject.com/script/Membership/LogOff.aspx?rp=%2fKB%2fdotnet%2fvgclock.aspx">Sign out</a>

</div>



</td>
</tr>
</tbody></table></div>
	<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr>
		<td class="HeaderLogo"><a href="http://www.codeproject.com/"><img id="ctl00_Logo" src="vgclock.aspx_files/logo225x90.gif" alt="The Code Project" style="border-width: 0px; height: 90px; width: 225px;"></a></td>				 
		<td class="HeaderBanner" align="right" width="100%"><iframe src="vgclock.aspx_files/ServeFlash.htm" width="728px" frameborder="0" height="90px" scrolling="no"></iframe></td>
	</tr></tbody></table>
	

<div class="NavBarMain">
<ul id="nav">

<li><a href="http://www.codeproject.com/">Home</a></li>
<li><a id="ctl00_TopNavBar_Art" class="down" href="http://www.codeproject.com/script/Articles/Latest.aspx">Articles</a>



	<ul class="flyout">
		<li><a id="ctl00_TopNavBar_ArtSearch" class="fly break" href="http://www.codeproject.com/info/search.aspx">Search</a></li>
		<li><a id="ctl00_TopNavBar_ArtLatest" class="fly" href="http://www.codeproject.com/script/Articles/Latest.aspx">Latest Articles</a></li>
		<li><a id="ctl00_TopNavBar_ArtTop" class="fly" href="http://www.codeproject.com/script/Articles/TopArticles.aspx?ta_so=4">Top Articles</a></li>
		<li><a id="ctl00_TopNavBar_ArtBeginner" class="fly" href="http://www.codeproject.com/info/search.aspx?vidlst=152&amp;sa_us=True">Beginner Articles</a></li>
		<li><a id="ctl00_TopNavBar_ArtBlogArticles" class="fly break" href="http://www.codeproject.com/script/Articles/BlogArticleList.aspx">Technical Blogs</a></li>
		<li><a id="ctl00_TopNavBar_ArtPostArticle" class="fly" href="http://www.codeproject.com/info/Submit.aspx">Post an Article</a></li>
		<li></li>
		<li><a id="ctl00_TopNavBar_ArtPostBlog" class="fly break" href="http://www.codeproject.com/script/Articles/BlogFeed.aspx">Post your Blog</a></li>
		<li><a id="ctl00_TopNavBar_ArtGuide" class="fly" href="http://www.codeproject.com/info/Submit.aspx">Posting/Update Guidelines</a></li>
		<li><a id="ctl00_TopNavBar_ArtCompetition" class="fly" href="http://www.codeproject.com/script/Awards/CurrentCompetitions.aspx?cmpTpId=1">Article Competition</a></li>
		<li><a id="ctl00_TopNavBar_ArtTopicList" class="last" href="http://www.codeproject.com/script/Content/SiteMap.aspx">Topic List</a></li>
	</ul>

</li>





<li><a id="ctl00_TopNavBar_MessageBoards" class="down" href="http://www.codeproject.com/script/Forums/List.aspx">Message Boards</a>

	<ul class="flyout">
		<li><a class="fly" href="http://www.codeproject.com/Forums/12076/ASP-NET.aspx">ASP.NET</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/4486/ATL-WTL-STL.aspx">ATL /  WTL / STL</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/1647/C-Cplusplus-MFC.aspx">C / C++ / MFC</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/3785/Managed-Cplusplus-CLI.aspx">Managed C++/CLI</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/1649/Csharp.aspx">C#</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/1648/COM.aspx">COM</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/186301/Hardware-Devices.aspx">Hardware &amp; Devices</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/1004117/LINQ.aspx">LINQ</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/1650/NET-Framework.aspx">.NET Framework</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/1644/System-Admin.aspx">System Admin</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/1004257/Silverlight.aspx">Silverlight</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/1725/General-Database.aspx">General Database</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/1540733/Sharepoint.aspx">Sharepoint</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/1646/Visual-Basic.aspx">Visual Basic</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/1640/Web-Development.aspx">Web Development</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/1004114/WPF-WCF-WF.aspx">WPF / WCF / WF</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/3421/XML-XSL.aspx">XML / XSL</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/1642/General-IT-Issues.aspx">General IT Issues</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/1645/Site-Bugs-Suggestions.aspx">Site Bugs / Suggestions</a></li>
<li><a class="fly" href="http://www.codeproject.com/Forums/1536756/The-Soapbox-2-0.aspx">The Soapbox 2.0</a></li>

		<li><a id="ctl00_TopNavBar_MessageBoardsAll" class="last" href="http://www.codeproject.com/script/Forums/List.aspx">All Message Boards...</a></li>
	</ul>

</li>



<li><a id="ctl00_TopNavBar_Job" href="http://www.codeproject.com/script/Jobs/List.aspx">Job Board</a>
	<ul class="flyout">
		<li><a id="ctl00_TopNavBar_JobLatest" class="fly" href="http://www.codeproject.com/script/Jobs/List.aspx">Latest</a></li>
		<li><a id="ctl00_TopNavBar_JobSearch" class="fly" href="http://www.codeproject.com/script/Jobs/Search.aspx">Search</a></li>
		<li><a id="ctl00_TopNavBar_JobPost" class="fly" href="http://www.codeproject.com/script/Jobs/Edit.aspx">Post a Job</a></li>
		<li><a id="ctl00_TopNavBar_JobFaq" class="last" href="http://www.codeproject.com/script/Jobs/FAQ.aspx">FAQ and Pricing</a></li>
	</ul>

</li>




<li><a id="ctl00_TopNavBar_Cat" href="http://www.codeproject.com/script/Catalog/List.aspx">Catalog</a>
	<ul class="flyout">
		<li><a id="ctl00_TopNavBar_CatLatest" class="fly" href="http://www.codeproject.com/script/Catalog/List.aspx?ctls=DatePostedDescending">Latest</a></li>
		<li><a id="ctl00_TopNavBar_CatSearch" class="fly" href="http://www.codeproject.com/script/Catalog/List.aspx">Search</a></li>
		<li><a id="ctl00_TopNavBar_CatPost" class="fly" href="http://www.codeproject.com/script/Catalog/Edit.aspx">Post a Catalog Item</a></li>
		<li><a id="ctl00_TopNavBar_CatFaq" class="last" href="http://www.codeproject.com/script/Catalog/FAQ.aspx">FAQ and Pricing</a></li>
	</ul>

</li>



<li><a id="ctl00_TopNavBar_Help" href="http://www.codeproject.com/info/FAQ.aspx">Help!</a>

	<ul class="flyout">
		<li><a id="ctl00_TopNavBar_HelpWhatIs" class="fly" href="http://www.codeproject.com/info/guide.aspx">What is 'The Code Project'?</a></li>
		<li><a id="ctl00_TopNavBar_HelpGeneral" class="fly" href="http://www.codeproject.com/info/FAQ.aspx">General FAQ</a></li>
		<li><a id="ctl00_TopNavBar_HelpPostQuestion" class="fly" href="http://www.codeproject.com/script/Forums/List.aspx">Post a Question</a></li>
		<li><a id="ctl00_TopNavBar_HelpSiteMap" class="fly" href="http://www.codeproject.com/script/Content/SiteMap.aspx">Site Directory</a></li>
		<li><a id="ctl00_TopNavBar_HelpAboutUs" class="last" href="http://www.codeproject.com/info/about.aspx">About Us</a></li>
	</ul>

</li>


<li style="float: right;">
<a style="display: inline;" id="ctl00_TopNavBar_Lounge" href="javascript:void();">Lounge</a>
<a id="ctl00_TopNavBar_Soapbox" href="javascript:void();" style="display: none;">Soapbox</a>

</li>

</ul>

</div>
	<div style="width: 100%;"><a name="_top"></a><table id="ctl00_ArticleTopHeader_HeaderTable" class="ArticleHeader" cellpadding="3" width="100%">
	<tbody><tr valign="top">
		<td class="SmallText">
	
	<a id="ctl00_ArticleTopHeader_ChapterLink" href="http://www.codeproject.com/script/Content/Chapter.aspx?chptId=8">Platforms, Frameworks &amp; Libraries</a> »
	<a id="ctl00_ArticleTopHeader_SectionLink" href="http://www.codeproject.com/KB/dotnet/">.NET Framework</a> »
	<a id="ctl00_ArticleTopHeader_SubsectionLink" href="http://www.codeproject.com/KB/dotnet/index.aspx?#.NET%20Framework%20-%20XAML">XAML</a>
	
	<span id="ctl00_ArticleTopHeader_SkillLevel" class="ArticleIntermediate">&nbsp;&nbsp;&nbsp; Intermediate</span> 
	<span id="ctl00_ArticleTopHeader_LicenceTerms"></span>
	<br>
	<br>
	<h1><span id="ctl00_ArticleTopHeader_ArticleTitle" class="ArticleTopTitle">A Vector Graphics Rendered Animated Clock</span></h1>
	
		<b>By <a href="http://www.codeproject.com/script/Articles/MemberArticles.aspx?amid=36803">Marc Clifton</a></b><br>
	
	<br>
    <span id="ctl00_ArticleTopHeader_ArticleDescr">Demonstrates Using MyXaml With A Vector Graphics Engine To Create An Analog Clock</span>
</td>
		<td style="width: 210px;">
	<span id="ctl00_ArticleTopHeader_ArticleAttributes" class="SmallText">C++, C#, .NET, Win2K, WinXP, Win2003, Visual Studio, MFC, XAML, Dev</span>
	<table style="margin: 8px 0pt 0pt; padding: 0pt;" class="SmallText">
	
	<tbody><tr><td>Posted:</td><td><b>18 Apr 2004</b></td></tr>
	
	<tr><td>Views:</td><td><b>204,202</b></td></tr>
	
	<tr><td>Bookmarked:</td><td><b>103 times</b></td></tr>
	
	
	
	
	</tbody></table>
</td>
	</tr>
</tbody></table>

	</div>
</div>

<div>

<div id="ctl00_LHNavBar" class="LHNavBar">

	

<div class="announce-header">Announcements</div>
<div class="announce-content">
<table cellpadding="2">











<tbody><tr valign="middle"><td><img src="vgclock.aspx_files/MonthlyComp.png" alt="Comp" align="middle" width="24px" height="24px"></td>
<td><a id="ctl00_Announcements_CompLink" href="http://www.codeproject.com/Feature/ArticleCompetition/">Monthly Competition</a></td></tr>
</tbody></table>
</div>
		
	
<div id="Th">
</div>

	
	
	<div id="SectionMenu">
<div class="MenuCat">Articles</div>
<div class="MenuChapter"><a href="http://www.codeproject.com/script/Content/Chapter.aspx?chptId=1" onclick="return ToggleMenu('Chapter1');">Desktop Development</a></div>
<div class="MenuSectionBlock" id="Chapter1" style="display: none;">
<div class="MI" id="Section1"><a href="http://www.codeproject.com/KB/buttons/">Button Controls</a></div>
<div class="MI" id="Section15"><a href="http://www.codeproject.com/KB/clipboard/">Clipboard</a></div>
<div class="MI" id="Section2"><a href="http://www.codeproject.com/KB/combobox/">Combo &amp; List Boxes</a></div>
<div class="MI" id="Section67"><a href="http://www.codeproject.com/KB/dialog/">Dialogs and Windows</a></div>
<div class="MI" id="Section107"><a href="http://www.codeproject.com/KB/gadgets/">Desktop Gadgets</a></div>
<div class="MI" id="Section16"><a href="http://www.codeproject.com/KB/docview/">Document / View</a></div>
<div class="MI" id="Section4"><a href="http://www.codeproject.com/KB/edit/">Edit Controls</a></div>
<div class="MI" id="Section17"><a href="http://www.codeproject.com/KB/files/">Files and Folders</a></div>
<div class="MI" id="Section3"><a href="http://www.codeproject.com/KB/grid/">Grid &amp; Data Controls</a></div>
<div class="MI" id="Section5"><a href="http://www.codeproject.com/KB/list/">List Controls</a></div>
<div class="MI" id="Section6"><a href="http://www.codeproject.com/KB/menus/">Menus</a></div>
<div class="MI" id="Section14"><a href="http://www.codeproject.com/KB/miscctrl/">Miscellaneous</a></div>
<div class="MI" id="Section18"><a href="http://www.codeproject.com/KB/printing/">Printing</a></div>
<div class="MI" id="Section95"><a href="http://www.codeproject.com/KB/progress/">Progress Controls</a></div>
<div class="MI" id="Section11"><a href="http://www.codeproject.com/KB/selection/">Selection Controls</a></div>
<div class="MI" id="Section19"><a href="http://www.codeproject.com/KB/shell/">Shell and IE programming</a></div>
<div class="MI" id="Section68"><a href="http://www.codeproject.com/KB/smart/">Smart Client</a></div>
<div class="MI" id="Section8"><a href="http://www.codeproject.com/KB/splitter/">Splitter Windows</a></div>
<div class="MI" id="Section9"><a href="http://www.codeproject.com/KB/static/">Static &amp; Panel Controls</a></div>
<div class="MI" id="Section10"><a href="http://www.codeproject.com/KB/statusbar/">Status Bar</a></div>
<div class="MI" id="Section7"><a href="http://www.codeproject.com/KB/tabs/">Tabs &amp; Property Pages</a></div>
<div class="MI" id="Section12"><a href="http://www.codeproject.com/KB/toolbars/">Toolbars &amp; Docking windows</a></div>
<div class="MI" id="Section13"><a href="http://www.codeproject.com/KB/tree/">Tree Controls</a></div>
</div>
<div class="MenuChapter"><a href="http://www.codeproject.com/script/Content/Chapter.aspx?chptId=2" onclick="return ToggleMenu('Chapter2');">Web Development</a></div>
<div class="MenuSectionBlock" id="Chapter2" style="display: none;">
<div class="MI" id="Section70"><a href="http://www.codeproject.com/KB/ajax/">Ajax and Atlas</a></div>
<div class="MI" id="Section27"><a href="http://www.codeproject.com/KB/applications/">Applications &amp; Tools</a></div>
<div class="MI" id="Section85"><a href="http://www.codeproject.com/KB/asp/">ASP</a></div>
<div class="MI" id="Section89"><a href="http://www.codeproject.com/KB/aspnet/">ASP.NET</a></div>
<div class="MI" id="Section28"><a href="http://www.codeproject.com/KB/webforms/">ASP.NET Controls</a></div>
<div class="MI" id="Section38"><a href="http://www.codeproject.com/KB/ATL-Server/">ATL Server</a></div>
<div class="MI" id="Section29"><a href="http://www.codeproject.com/KB/web-cache/">Caching</a></div>
<div class="MI" id="Section91"><a href="http://www.codeproject.com/KB/web-image/">Charts, Graphs and Images</a></div>
<div class="MI" id="Section25"><a href="http://www.codeproject.com/KB/scripting/">Client side scripting</a></div>
<div class="MI" id="Section30"><a href="http://www.codeproject.com/KB/custom-controls/">Custom Controls</a></div>
<div class="MI" id="Section23"><a href="http://www.codeproject.com/KB/HTML/">HTML / CSS</a></div>
<div class="MI" id="Section24"><a href="http://www.codeproject.com/KB/ISAPI/">ISAPI</a></div>
<div class="MI" id="Section33"><a href="http://www.codeproject.com/KB/server-management/">Site &amp; Server Management</a></div>
<div class="MI" id="Section34"><a href="http://www.codeproject.com/KB/session/">Session State</a></div>
<div class="MI" id="Section113"><a href="http://www.codeproject.com/KB/silverlight/">Silverlight</a></div>
<div class="MI" id="Section36"><a href="http://www.codeproject.com/KB/trace/">Trace and Logs</a></div>
<div class="MI" id="Section31"><a href="http://www.codeproject.com/KB/user-controls/">User Controls</a></div>
<div class="MI" id="Section37"><a href="http://www.codeproject.com/KB/validation/">Validation</a></div>
<div class="MI" id="Section35"><a href="http://www.codeproject.com/KB/viewstate/">View State</a></div>
<div class="MI" id="Section26"><a href="http://www.codeproject.com/KB/WAP/">WAP / WML</a></div>
<div class="MI" id="Section32"><a href="http://www.codeproject.com/KB/web-security/">Web Security</a></div>
<div class="MI" id="Section20"><a href="http://www.codeproject.com/KB/webservices/">Web Services</a></div>
</div>
<div class="MenuChapter"><a href="http://www.codeproject.com/script/Content/Chapter.aspx?chptId=9" onclick="return ToggleMenu('Chapter9');">Enterprise Systems</a></div>
<div class="MenuSectionBlock" id="Chapter9" style="display: none;">
<div class="MI" id="Section98"><a href="http://www.codeproject.com/KB/MCMS/">Content Management Server</a></div>
<div class="MI" id="Section99"><a href="http://www.codeproject.com/KB/biztalk/">Microsoft BizTalk Server</a></div>
<div class="MI" id="Section102"><a href="http://www.codeproject.com/KB/exchange/">Microsoft Exchange</a></div>
<div class="MI" id="Section90"><a href="http://www.codeproject.com/KB/office/">Office Development</a></div>
<div class="MI" id="Section101"><a href="http://www.codeproject.com/KB/sharepoint/">SharePoint Server</a></div>
</div>
<div class="MenuChapter"><a href="http://www.codeproject.com/script/Content/Chapter.aspx?chptId=3" onclick="return ToggleMenu('Chapter3');">Multimedia</a></div>
<div class="MenuSectionBlock" id="Chapter3" style="display: none;">
<div class="MI" id="Section42"><a href="http://www.codeproject.com/KB/audio-video/">Audio and Video</a></div>
<div class="MI" id="Section44"><a href="http://www.codeproject.com/KB/directx/">DirectX</a></div>
<div class="MI" id="Section46"><a href="http://www.codeproject.com/KB/GDI/">GDI</a></div>
<div class="MI" id="Section47"><a href="http://www.codeproject.com/KB/GDI-plus/">GDI+</a></div>
<div class="MI" id="Section43"><a href="http://www.codeproject.com/KB/graphics/">General Graphics</a></div>
<div class="MI" id="Section45"><a href="http://www.codeproject.com/KB/openGL/">OpenGL</a></div>
</div>
<div class="MenuChapter"><a href="http://www.codeproject.com/script/Content/Chapter.aspx?chptId=4" onclick="return ToggleMenu('Chapter4');">Database</a></div>
<div class="MenuSectionBlock" id="Chapter4" style="display: none;">
<div class="MI" id="Section66"><a href="http://www.codeproject.com/KB/database/">Database</a></div>
<div class="MI" id="Section100"><a href="http://www.codeproject.com/KB/reporting-services/">SQL Reporting Services</a></div>
</div>
<div class="MenuChapter"><a href="http://www.codeproject.com/script/Content/Chapter.aspx?chptId=8" onclick="return ToggleMenu('Chapter8');">Platforms, Frameworks &amp; Libraries</a></div>
<div class="MenuSectionBlock" id="Chapter8">
<div class="MI" id="Section83"><a href="http://www.codeproject.com/KB/atl/">ATL</a></div>
<div class="MI" id="Section117"><a href="http://www.codeproject.com/KB/MFC/">MFC</a></div>
<div class="MI" id="Section88"><a href="http://www.codeproject.com/KB/stl/">STL</a></div>
<div class="MI" id="Section84"><a href="http://www.codeproject.com/KB/wtl/">WTL</a></div>
<div class="MI" id="Section49"><a href="http://www.codeproject.com/KB/COM/">COM / COM+</a></div>
<div class="MIS" id="Section76"><a href="http://www.codeproject.com/KB/dotnet/">.NET Framework</a></div>
<div class="MI" id="Section92"><a href="http://www.codeproject.com/KB/winsdk/">Win32/64 SDK &amp; OS</a></div>
<div class="MI" id="Section108"><a href="http://www.codeproject.com/KB/vista/">Vista API</a></div>
<div class="MI" id="Section110"><a href="http://www.codeproject.com/KB/vista-security/">Vista Security</a></div>
<div class="MI" id="Section82"><a href="http://www.codeproject.com/KB/cross-platform/">Cross Platform</a></div>
<div class="MI" id="Section69"><a href="http://www.codeproject.com/KB/game/">Game Development</a></div>
<div class="MI" id="Section73"><a href="http://www.codeproject.com/KB/mobile/">Mobile Development</a></div>
<div class="MI" id="Section106"><a href="http://www.codeproject.com/KB/WC/">Windows CardSpace</a></div>
<div class="MI" id="Section103"><a href="http://www.codeproject.com/KB/WCF/">Windows Communication Foundation</a></div>
<div class="MI" id="Section104"><a href="http://www.codeproject.com/KB/WPF/">Windows Presentation Foundation</a></div>
<div class="MI" id="Section105"><a href="http://www.codeproject.com/KB/WF/">Windows Workflow Foundation</a></div>
<div class="MI" id="Section119"><a href="http://www.codeproject.com/KB/library/">Libraries</a></div>
<div class="MI" id="Section122"><a href="http://www.codeproject.com/KB/powershell/">Windows Powershell</a></div>
<div class="MI" id="Section123"><a href="http://www.codeproject.com/KB/linq/">LINQ</a></div>
</div>
<div class="MenuChapter"><a href="http://www.codeproject.com/script/Content/Chapter.aspx?chptId=5" onclick="return ToggleMenu('Chapter5');">Languages</a></div>
<div class="MenuSectionBlock" id="Chapter5" style="display: none;">
<div class="MI" id="Section71"><a href="http://www.codeproject.com/KB/cpp/">C / C++ Language</a></div>
<div class="MI" id="Section72"><a href="http://www.codeproject.com/KB/mcpp/">C++ / CLI</a></div>
<div class="MI" id="Section93"><a href="http://www.codeproject.com/KB/cs/">C#</a></div>
<div class="MI" id="Section78"><a href="http://www.codeproject.com/KB/msil/">MSIL</a></div>
<div class="MI" id="Section86"><a href="http://www.codeproject.com/KB/vbscript/">VBScript</a></div>
<div class="MI" id="Section87"><a href="http://www.codeproject.com/KB/vb/">VB.NET</a></div>
<div class="MI" id="Section115"><a href="http://www.codeproject.com/KB/vb-interop/">VB6 Interop</a></div>
<div class="MI" id="Section77"><a href="http://www.codeproject.com/KB/net-languages/">Other .NET Languages</a></div>
<div class="MI" id="Section21"><a href="http://www.codeproject.com/KB/XML/">XML</a></div>
<div class="MI" id="Section96"><a href="http://www.codeproject.com/KB/java/">Java</a></div>
</div>
<div class="MenuChapter"><a href="http://www.codeproject.com/script/Content/Chapter.aspx?chptId=6" onclick="return ToggleMenu('Chapter6');">General Programming</a></div>
<div class="MenuSectionBlock" id="Chapter6" style="display: none;">
<div class="MI" id="Section57"><a href="http://www.codeproject.com/KB/recipes/">Algorithms &amp; Recipes</a></div>
<div class="MI" id="Section64"><a href="http://www.codeproject.com/KB/bugs/">Bugs &amp; Workarounds</a></div>
<div class="MI" id="Section79"><a href="http://www.codeproject.com/KB/collections/">Collections</a></div>
<div class="MI" id="Section56"><a href="http://www.codeproject.com/KB/security/">Cryptography &amp; Security</a></div>
<div class="MI" id="Section50"><a href="http://www.codeproject.com/KB/datetime/">Date and Time</a></div>
<div class="MI" id="Section52"><a href="http://www.codeproject.com/KB/DLL/">DLLs &amp; Assemblies</a></div>
<div class="MI" id="Section80"><a href="http://www.codeproject.com/KB/exception/">Exception Handling</a></div>
<div class="MI" id="Section81"><a href="http://www.codeproject.com/KB/locale/">Localisation</a></div>
<div class="MI" id="Section53"><a href="http://www.codeproject.com/KB/macros/">Macros and Add-ins</a></div>
<div class="MI" id="Section54"><a href="http://www.codeproject.com/KB/tips/">Programming Tips</a></div>
<div class="MI" id="Section55"><a href="http://www.codeproject.com/KB/string/">String handling</a></div>
<div class="MI" id="Section22"><a href="http://www.codeproject.com/KB/IP/">Internet / Network</a></div>
<div class="MI" id="Section58"><a href="http://www.codeproject.com/KB/threads/">Threads, Processes &amp; IPC</a></div>
<div class="MI" id="Section59"><a href="http://www.codeproject.com/KB/winhelp/">WinHelp / HTMLHelp</a></div>
<div class="MI" id="Section141"><a href="http://www.codeproject.com/KB/answers/">Uncategorised Quick Answers</a></div>
</div>
<div class="MenuChapter"><a href="http://www.codeproject.com/script/Content/Chapter.aspx?chptId=10" onclick="return ToggleMenu('Chapter10');">Graphics / Design</a></div>
<div class="MenuSectionBlock" id="Chapter10" style="display: none;">
<div class="MI" id="Section40"><a href="http://www.codeproject.com/KB/expression/">Expression</a></div>
<div class="MI" id="Section114"><a href="http://www.codeproject.com/KB/usability/">Usability</a></div>
</div>
<div class="MenuChapter"><a href="http://www.codeproject.com/script/Content/Chapter.aspx?chptId=11" onclick="return ToggleMenu('Chapter11');">Development Lifecycle</a></div>
<div class="MenuSectionBlock" id="Chapter11" style="display: none;">
<div class="MI" id="Section51"><a href="http://www.codeproject.com/KB/debug/">Debug Tips</a></div>
<div class="MI" id="Section39"><a href="http://www.codeproject.com/KB/architecture/">Design and Architecture</a></div>
<div class="MI" id="Section112"><a href="http://www.codeproject.com/KB/install/">Installation</a></div>
<div class="MI" id="Section41"><a href="http://www.codeproject.com/KB/work/">Work Issues</a></div>
<div class="MI" id="Section128"><a href="http://www.codeproject.com/KB/testing/">Testing and QA</a></div>
<div class="MI" id="Section126"><a href="http://www.codeproject.com/KB/codegen/">Code Generation</a></div>
</div>
<div class="MenuChapter"><a href="http://www.codeproject.com/script/Content/Chapter.aspx?chptId=7" onclick="return ToggleMenu('Chapter7');">General Reading</a></div>
<div class="MenuSectionBlock" id="Chapter7" style="display: none;">
<div class="MI" id="Section60"><a href="http://www.codeproject.com/KB/books/">Book Chapters</a></div>
<div class="MI" id="Section61"><a href="http://www.codeproject.com/KB/book-reviews/">Book Reviews</a></div>
<div class="MI" id="Section109"><a href="http://www.codeproject.com/KB/hardware-review/">Hardware Reviews</a></div>
<div class="MI" id="Section63"><a href="http://www.codeproject.com/KB/interviews/">Interviews</a></div>
<div class="MI" id="Section62"><a href="http://www.codeproject.com/KB/scrapbook/">Scrapbook</a></div>
<div class="MI" id="Section48"><a href="http://www.codeproject.com/KB/system/">Hardware &amp; System</a></div>
<div class="MI" id="Section136"><a href="http://www.codeproject.com/KB/Blogs/">Uncategorised Technical Blogs</a></div>
<div class="MI" id="Section140"><a href="http://www.codeproject.com/KB/mentor/">Author Resources</a></div>
</div>
<div class="MenuChapter"><a href="http://www.codeproject.com/script/Content/Chapter.aspx?chptId=12" onclick="return ToggleMenu('Chapter12');">Third Party Products</a></div>
<div class="MenuSectionBlock" id="Chapter12" style="display: none;">
<div class="MI" id="Section65"><a href="http://www.codeproject.com/KB/showcase/">Product Showcase</a></div>
<div class="MI" id="Section124"><a href="http://www.codeproject.com/KB/solution-center/">Solution Center</a></div>
</div>
<div class="MenuChapter"><a href="http://www.codeproject.com/script/Content/Chapter.aspx?chptId=13" onclick="return ToggleMenu('Chapter13');">Mentor Resources</a></div>
<div class="MenuSectionBlock" id="Chapter13" style="display: none;">
</div>
</div>
<div style="margin-top: 5px;"></div>
<div class="MenuCat">Services</div>
<div class="MenuChapter"><a href="http://www.codeproject.com/script/Catalog/List.aspx">Product Catalog</a></div>
<div class="MenuChapter"><a href="http://www.codeproject.com/services/certificates/index.aspx">Code-signing Certificates</a></div>
<div class="MenuChapter"><a href="http://www.codeproject.com/script/Jobs/List.aspx">Job Board</a></div>
<div class="MenuChapter"><a href="http://www.codeproject.com/Services/Addins/">CodeProject VS2008 Addin</a></div>
<div style="margin-top: 5px;"></div>
<div class="MenuCat">Feature Zones</div>
<div class="MenuChapter"><a href="http://www.codeproject.com/kb/Showcase/">Product Showcase</a></div>
<div class="MenuChapter"><a href="http://www.codeproject.com/Zones/WhitePapers/">WhitePapers / Webcasts</a></div>
<div class="MenuChapter"><a href="http://www.codeproject.com/redir.aspx?adid=8763">ASP.NET Web Hosting</a></div>
<div style="margin-top: 5px;"></div>


	<div style="margin: auto; width: 150px;"><script type="text/javascript">document.write(unescape("%3ca%20href%3d%22http%3a%2f%2fwww.codeproject.com%2fRedir.aspx%3fadid%3d10335%26way%3dban%22%20target%3d%22_blank%22%20rel%3d%22nofollow%22%3e%3cimg%20src%3d%22%2fscript%2fAdServe%2fServeImg.aspx%3fFile%3dCP_Insider_150x80_B.gif%26C%3dFalse%26adid%3d10335%26obid%3d6733%26obtid%3d2%22%20alt%3d%22%22%20border%3d%220%22%20width%3d%22150px%22%20height%3d%2280px%22%3e%3c%2fa%3e"));</script><a href="http://www.codeproject.com/Redir.aspx?adid=10335&amp;way=ban" target="_blank" rel="nofollow"><img src="vgclock.aspx_files/ServeImg.htm" alt="" border="0" width="150px" height="80px"></a>
	</div>
	
	<div style="margin: 10px auto auto; width: 160px;"><script type="text/javascript">document.write(unescape("%3ca%20href%3d%22http%3a%2f%2fwww.codeproject.com%2fRedir.aspx%3fadid%3d7447%26way%3dban%22%20target%3d%22_blank%22%20rel%3d%22nofollow%22%3e%3cimg%20src%3d%22%2fscript%2fAdServe%2fServeImg.aspx%3fFile%3dappdev_cp.gen.160600.gif%26C%3dFalse%26adid%3d7447%26obid%3d6733%26obtid%3d2%22%20alt%3d%22%22%20border%3d%220%22%20width%3d%22160px%22%20height%3d%22600px%22%3e%3c%2fa%3e"));</script><a href="http://www.codeproject.com/Redir.aspx?adid=7447&amp;way=ban" target="_blank" rel="nofollow"><img src="vgclock.aspx_files/ServeImg_003.htm" alt="" border="0" width="160px" height="600px"></a>
	</div>
</div>

<div id="ctl00_ArticlePane" class="ArticlePane LeftColumn">

	
<table class="SearchHeaderBar" cellspacing="0" width="100%">
<tbody><tr>
<td width="100%">&nbsp;</td>
<td style="white-space: nowrap; width: 60%;" align="right" valign="middle">
	<form method="get" action="/info/search.aspx" name="Search" style="margin: 0pt;">
	<b>Search &nbsp;</b>
	<input class="SmallText" name="artkw" style="width: 200px;">
	<select class="SmallText offblack" style="font-weight: bold;" name="sbo">
	<option value="kw" selected="selected">Articles</option>
<option value="fm">Messages</option>
<option value="s">Jobs</option>
<option value="ctlk">Product Catalog</option>

	</select>
	<input class="SmallText" style="font-weight: bold;" value=" Go! " type="submit"> &nbsp;
	</form>
</td>
<td class="TinyText" style="white-space: nowrap;">
	
	<a href="http://www.codeproject.com/info/search.aspx">Advanced Search</a><br>
	
	
	<a id="ctl00_SearchBarCtrl_AddToIESearchLnk" href="http://www.codeproject.com/">Add to IE Search</a>
</td>
</tr>
</tbody></table>

	<a name="Main"></a>
	<span id="ctl00_ResultMessage"></span>
	
	
    
	<div id="ctl00_ArtDiv">
	<table border="0" cellpadding="0" cellspacing="0">	
	<tbody><tr valign="top">
		<td width="100%" valign="top">
		    
<table>

<tbody><tr><td class="SmallText"><img id="ctl00_ArticleAwards_AR_ctl01_AI" src="vgclock.aspx_files/prize_winner.gif" style="border-width: 0px;"></td> 
<td class="SmallText" style="white-space: nowrap;">Prize winner in Competition 
"C# Mar 2004" <i></i></td></tr>

</tbody></table>



			
<div class="SmallText">
<img src="vgclock.aspx_files/print.gif" alt="print" style="vertical-align: middle;" width="16px" height="16px"><a id="ctl00_ArticleHeaderLinks_PrintLnk" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?display=Print">Print</a> &nbsp;
	


<span id="SBI"><img src="vgclock.aspx_files/add.gif" id="ctl00_ArticleHeaderLinks_AddTo_Img" alt="add" style="vertical-align: middle;" width="16" height="16">
<a href="#">Share</a></span>
<div style="left: 197.5px; top: 330.1px;" id="ATD"><div><a class="AddTo" title="Add this page to Digg" onclick="return socialLinks.addto(0);" href="#"><img src="vgclock.aspx_files/AddTo_Digg.png" align="absmiddle" border="0" width="16px" height="16px"> Digg</a> </div><div><a class="AddTo" title="Add this page to Del.icio.us" onclick="return socialLinks.addto(1);" href="#"><img src="vgclock.aspx_files/AddTo_Delicious.png" align="absmiddle" border="0" width="16px" height="16px"> Del.icio.us</a> </div><div><a class="AddTo" title="Add this page to Google" onclick="return socialLinks.addto(2);" href="#"><img src="vgclock.aspx_files/AddTo_Google.png" align="absmiddle" border="0" width="16px" height="16px"> Google</a> </div><div><a class="AddTo" title="Add this page to Windows Live" onclick="return socialLinks.addto(3);" href="#"><img src="vgclock.aspx_files/AddTo_Live.png" align="absmiddle" border="0" width="16px" height="16px"> Windows Live</a> </div><div><a class="AddTo" title="Add this page to Technorati" onclick="return socialLinks.addto(4);" href="#"><img src="vgclock.aspx_files/AddTo_Technorati.png" align="absmiddle" border="0" width="16px" height="16px"> Technorati</a> </div><div><a class="AddTo" title="Add this page to Blink" onclick="return socialLinks.addto(5);" href="#"><img src="vgclock.aspx_files/AddTo_Blink.png" align="absmiddle" border="0" width="16px" height="16px"> Blink</a> </div><div><a class="AddTo" title="Add this page to Facebook" onclick="return socialLinks.addto(6);" href="#"><img src="vgclock.aspx_files/AddTo_Facebook.png" align="absmiddle" border="0" width="16px" height="16px"> Facebook</a> </div><div><a class="AddTo" title="Add this page to Furl" onclick="return socialLinks.addto(7);" href="#"><img src="vgclock.aspx_files/AddTo_Furl.png" align="absmiddle" border="0" width="16px" height="16px"> Furl</a> </div><div><a class="AddTo" title="Add this page to Simpy" onclick="return socialLinks.addto(8);" href="#"><img src="vgclock.aspx_files/AddTo_Simpy.png" align="absmiddle" border="0" width="16px" height="16px"> Simpy</a> </div><div><a class="AddTo" title="Add this page to Reddit" onclick="return socialLinks.addto(9);" href="#"><img src="vgclock.aspx_files/AddTo_Reddit.png" align="absmiddle" border="0" width="16px" height="16px"> Reddit</a> </div><div><a class="AddTo" title="Add this page to Newsvine" onclick="return socialLinks.addto(10);" href="#"><img src="vgclock.aspx_files/AddTo_Newsvine.png" align="absmiddle" border="0" width="16px" height="16px"> Newsvine</a> </div><div><a class="AddTo" title="Add this page to Stumbleupon" onclick="return socialLinks.addto(11);" href="#"><img src="vgclock.aspx_files/AddTo_stumbleupon.png" align="absmiddle" border="0" width="16px" height="16px"> Stumbleupon</a> </div><div><a class="AddTo" title="Add this page to Mr. Wong" onclick="return socialLinks.addto(12);" href="#"><img src="vgclock.aspx_files/AddTo_MrWong.png" align="absmiddle" border="0" width="16px" height="16px"> Mr. Wong</a> </div><div><a class="AddTo" title="Send as Email" onclick="return socialLinks.addto(13);" href="#"><img src="vgclock.aspx_files/envelope.gif" align="absmiddle" border="0" width="16px" height="16px"> Send as Email</a> </div></div>
 &nbsp;
 &nbsp;

<img id="ctl00_ArticleHeaderLinks_ArticleBmk_Img" src="vgclock.aspx_files/link.png" alt="Bookmark" style="border-width: 0px; height: 16px; width: 16px; vertical-align: middle;">
<a id="ctl00_ArticleHeaderLinks_ArticleBmk_Lnk" name="bm_6733_2" class="" onclick="return bookmarkMe(6733, 2);" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=6733&amp;obtid=2&amp;action=AddBookmark">Bookmark</a>
<span id="ctl00_ArticleHeaderLinks_ArticleBmk_StatusMsg" class="TinyText" style="display: none;" name="bm_6733_2"></span>

 &nbsp;
<img src="vgclock.aspx_files/discuss.gif" alt="Discuss" style="vertical-align: middle;" width="15px" height="16px"> <a href="#_comments">Discuss</a> &nbsp; 

<img src="vgclock.aspx_files/report.gif" alt="Broken Article?" style="vertical-align: middle;" width="16px" height="16px"><a id="ctl00_ArticleHeaderLinks_BrokenLnk" href="http://www.codeproject.com/script/Articles/Report.aspx?aid=6733">Report</a> &nbsp;
</div>
		</td>
		<td style="text-align: right; white-space: nowrap; width: 100px;">
		<table id="ctl00_CurRat" name="CurRat_6733">
	<tbody><tr>
		<td>
<table>
<tbody><tr>
	<td id="ctl00_ArticleRating_VL" style="white-space: nowrap;" class="SmallText" align="right"> 
		<span id="ctl00_ArticleRating_VoteLabel">74 votes for this article.</span>
	</td>
		
	<td>
		<table border="1" cellpadding="0" cellspacing="0">
			<tbody><tr>
				<td align="left" bgcolor="White" width="20px" height="7px"><img src="vgclock.aspx_files/red.gif" align="middle" border="0" width="20" height="7"></td>
				<td align="left" bgcolor="White" width="20px" height="7px"><img src="vgclock.aspx_files/red.gif" align="middle" border="0" width="20" height="7"></td>
				<td align="left" bgcolor="White" width="20px" height="7px"><img src="vgclock.aspx_files/red.gif" align="middle" border="0" width="20" height="7"></td>
				<td align="left" bgcolor="White" width="20px" height="7px"><img src="vgclock.aspx_files/red.gif" align="middle" border="0" width="20" height="7"></td>
				<td style="padding: 0px; white-space: nowrap;" align="left" bgcolor="White" width="20px" height="7px"><img src="vgclock.aspx_files/red.gif" align="middle" border="0" width="13" height="7"><img src="vgclock.aspx_files/white.gif" align="middle" border="0" width="7" height="7"></td>
			</tr>
		</tbody></table>
		
		<span id="ctl00_ArticleRating_Votes" class="SmallText"></span>
	</td>
</tr>
<tr id="ctl00_ArticleRating_PopularityRow">
			<td colspan="2" class="SmallText" align="right">
		<a id="ctl00_ArticleRating_PopularityLnk" title="Calculated as rating x Log10(# votes)" href="http://www.codeproject.com/script/Articles/TopArticles.aspx?ta_so=1">Popularity: 8.72</a>
		<span id="ctl00_ArticleRating_PopularityLbl"></span>
		<span id="ratingVal">Rating: <b>4.67</b> out of 5</span>
		
	</td>
		</tr>
		
</tbody></table>
</td>
		<td>            
<div>
<table class="HistTable" title="Voting Distribution. Recent data only"><tbody><tr><td><img src="vgclock.aspx_files/pollcol.gif" alt="4 votes, 5.4%" title="4 votes, 5.4%" border="0px" width="10px" height="1px"><br>1</td>
<td><img src="vgclock.aspx_files/pollcol.gif" alt="1 vote, 1.4%" title="1 vote, 1.4%" border="0px" width="10px" height="1px"><br>2</td>
<td><img src="vgclock.aspx_files/t.gif" alt="" title="" border="0px" width="10px" height="1px"><br>3</td>
<td><img src="vgclock.aspx_files/pollcol.gif" alt="6 votes, 8.1%" title="6 votes, 8.1%" border="0px" width="10px" height="1px"><br>4</td>
<td><img src="vgclock.aspx_files/pollcol.gif" alt="63 votes, 85.1%" title="63 votes, 85.1%" border="0px" width="10px" height="20px"><br>5</td>
</tr></tbody></table>
</div>



</td>
	</tr>
</tbody></table>

		</td>
	</tr>
	</tbody></table>
	
	
	
	

	
	

	
	
	
	
	
	
	
	
	
	
	
	
	<div id="contentdiv">
	
	<!-- Main Page Contents Start -->
	

<!-- Article Starts -->

<ul class="download">
<li><a href="http://www.myxaml.com/downloadCounterCS.aspx?file=onlyClock.zip">Download clock only - 139 Kb</a> 
</li><li><a href="http://www.myxaml.com/downloadCounterCS.aspx?file=clock.zip">Download clock, VG.net help file, and additional examples - 1131 Kb</a> </li></ul><!-- Add the rest of your HTML here -->
<p><img src="vgclock.aspx_files/clock.png" border="0" width="209" height="210"></p>
<h2>Contents</h2>
<ul>
<li><a href="#Introduction0">Introduction</a> 
</li><li><a href="#The%20Initial%20Markup1">The Initial Markup</a> 
<ul>
<li><a href="#Creating%20The%20Container%20Form2">Creating The Container Form</a> </li></ul>
</li><li><a href="#The%20Clock%20Features3">The Clock Features</a> 
<ul>
<li><a href="#The%20Frame4">The Frame</a> 
</li><li><a href="#The%20Face5">The Face</a> 
</li><li><a href="#The%20Shadow6">The Shadow</a> 
</li><li><a href="#The%20Numerals7">The Numerals</a> 
</li><li><a href="#The%20Minute%20Hand8">The Minute Hand</a> 
</li><li><a href="#The%20Hour%20Hand9">The Hour Hand</a> 
</li><li><a href="#The%20Second%20Hand10">The Second Hand</a> </li></ul>
</li><li><a href="#Animating%20The%20Clock11">Animating The Clock</a> 
<ul>
<li><a href="#Wiring%20Up%20The%20Handler%20In%20A%20Compiled%20Assembly12">Wiring Up The Handler In A Compiled Assembly</a> </li></ul>
</li><li><a href="#Conclusion13">Conclusion</a> 
</li><li><a href="#Notes14">Notes</a> 
</li><li><a href="#Further%20Reading15">Further Reading</a> </li></ul>
<h2><a name="Introduction0">Introduction</a></h2>
<p>In my last article, I demonstrated using MyXaml to create <a href="http://www.codeproject.com/KB/dotnet/RssMyXaml.asp">a simple blog reader</a>.&nbsp; In this article, I'd like to demonstrate how to create vector graphics applications using <a href="http://www.vgdotnet.com/">VG.net's</a>
runtime engine in conjunction with declarative markup.&nbsp; In
particular, I will be demonstrating the code that creates this working
clock:</p>
<p><img src="vgclock.aspx_files/clock.png" border="0" width="209" height="210"></p>
<h2><a name="The Initial Markup1">The Initial Markup</a></h2><div class="SmallText" id="premain0" style="width: 100%; cursor: pointer;"><img preid="0" src="vgclock.aspx_files/minus.gif" id="preimg0" width="9" height="9"><span preid="0" style="margin-bottom: 0pt;" id="precollapse0"> Collapse</span></div><pre style="margin-top: 0pt;" id="pre0"><span class="code-keyword">&lt;</span>?xml version=<span class="code-string">"</span><span class="code-string">1.0"</span> encoding=<span class="code-string">"</span><span class="code-string">utf-8"</span> standalone=<span class="code-string">"</span><span class="code-string">no"</span>?<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>MyXaml
  xmlns:def=<span class="code-string">"</span><span class="code-string">Definition"</span>
  xmlns=<span class="code-string">"</span><span class="code-string">Prodige.Drawing, Prodige.Drawing"</span>
  xmlns:pds=<span class="code-string">"</span><span class="code-string">Prodige.Drawing.Styles, Prodige.Drawing"</span><span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>Picture Name=<span class="code-string">"</span><span class="code-string">Clock"</span><span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>/Picture<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>/MyXaml<span class="code-keyword">&gt;</span>
</pre>
<p>The initial markup declares the assembly namespaces and associates
them with xmlns prefixes.&nbsp; The default namespace in this case is
the Prodige.Drawing vector graphics runtime engine.&nbsp; The <code>Picture</code> class is a container for vector graphic elements.</p>
<h3><a name="Creating The Container Form2">Creating The Container Form</a></h3>
<p>Normally, one or more <code>Picture</code> objects are drawn on a
Canvas, which is a user control and can be added to a Form.&nbsp;
Because the VG.net designer can generate the MyXaml markup directly,
I've put together a small loader vgLoader.exe.&nbsp; The loader tells
the parser to instantiate the Picture and then invokes Picture's
DisplayInForm method.&nbsp; This returns an initially sized Form which
can then be displayed.&nbsp; The code for the actual loading is as
follows:</p><div class="SmallText" id="premain1" style="width: 100%; cursor: pointer;"><img preid="1" src="vgclock.aspx_files/minus.gif" id="preimg1" width="9" height="9"><span preid="1" style="margin-bottom: 0pt;" id="precollapse1"> Collapse</span></div><pre style="margin-top: 0pt;" id="pre1">Parser parser=new Parser();
<span class="code-SDKkeyword">object</span> picture=parser.LoadForm(filename, <span class="code-string">"</span><span class="code-string">*"</span>, null, null);
Type type=picture.GetType();
MethodInfo mi=type.GetMethod(<span class="code-string">"</span><span class="code-string">DisplayInForm"</span>);
Form form=mi.Invoke(picture, <span class="code-keyword">new</span> <span class="code-SDKkeyword">object</span>[] {<span class="code-keyword">new</span> Size(<span class="code-digit">10</span>, <span class="code-digit">10</span>)}) as Form;
form.ShowDialog();</pre>
<p>Since the loader doesn't know the name of the Picture, it uses the
"*" wildcard to tell the parser to instantiate the first class that it
encounters after the &lt;MyXaml&gt; tag.</p>
<h2><a name="The Clock Features3">The Clock Features</a></h2>
<p>The following sections discuss how the pieces of the clock are constructed.</p>
<h3><a name="The Frame4">The Frame</a></h3>
<p><img src="vgclock.aspx_files/rim.png" border="0" width="206" height="204"></p><div class="SmallText" id="premain2" style="width: 100%; cursor: pointer;"><img preid="2" src="vgclock.aspx_files/minus.gif" id="preimg2" width="9" height="9"><span preid="2" style="margin-bottom: 0pt;" id="precollapse2"> Collapse</span></div><pre style="margin-top: 0pt;" id="pre2"><span class="code-keyword">&lt;</span>?xml version=<span class="code-string">"</span><span class="code-string">1.0"</span> encoding=<span class="code-string">"</span><span class="code-string">utf-8"</span> standalone=<span class="code-string">"</span><span class="code-string">no"</span>?<span class="code-keyword">&gt;</span>
MyXaml
  xmlns:def=<span class="code-string">"</span><span class="code-string">Definition"</span>
  xmlns=<span class="code-string">"</span><span class="code-string">Prodige.Drawing, Prodige.Drawing"</span>
  xmlns:pds=<span class="code-string">"</span><span class="code-string">Prodige.Drawing.Styles, Prodige.Drawing"</span><span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>Picture Name=<span class="code-string">"</span><span class="code-string">Clock"</span><span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>Elements<span class="code-keyword">&gt;</span>
      <span class="code-keyword">&lt;</span>Ellipse Name=<span class="code-string">"</span><span class="code-string">outerRim"</span> Location=<span class="code-string">"</span><span class="code-string">100, 100"</span> Size=<span class="code-string">"</span><span class="code-string">200, 200"</span><br>               StyleReference=<span class="code-string">"</span><span class="code-string">Rim"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span> /<span class="code-keyword">&gt;</span>
      <span class="code-keyword">&lt;</span>Ellipse Name=<span class="code-string">"</span><span class="code-string">innerRim"</span> Location=<span class="code-string">"</span><span class="code-string">110, 110"</span> Size=<span class="code-string">"</span><span class="code-string">180, 180"</span><br>               StyleReference=<span class="code-string">"</span><span class="code-string">Rim"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span><span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>Fill<span class="code-keyword">&gt;</span>
          <span class="code-keyword">&lt;</span>pds:LinearGradientFill Angle=<span class="code-string">"</span><span class="code-string">225"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>/Fill<span class="code-keyword">&gt;</span>
      <span class="code-keyword">&lt;</span>/Ellipse<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>/Elements<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>Styles<span class="code-keyword">&gt;</span>
      <span class="code-keyword">&lt;</span>pds:Style Name=<span class="code-string">"</span><span class="code-string">Rim"</span><span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>pds:Fill<span class="code-keyword">&gt;</span>
          <span class="code-keyword">&lt;</span>pds:LinearGradientFill GradientType=<span class="code-string">"</span><span class="code-string">TwoColor"</span> Angle=<span class="code-string">"</span><span class="code-string">45"</span><br>               StartColor=<span class="code-string">"</span><span class="code-string">192, 192, 255"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>/pds:Fill<span class="code-keyword">&gt;</span>
      <span class="code-keyword">&lt;</span>/pds:Style<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>/Styles<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>/Picture<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>/MyXaml<span class="code-keyword">&gt;</span></pre>
<p>The clock frame consists of two circles (<code>Ellipse</code>
classes), one draw inside the other.&nbsp; A linear gradient fill is
used to create the shadow effect of light being cast on the clock from
the upper left.&nbsp; In this markup, both the outer and inner rim use
the same style, however the inner rim overrides the <code>Angle</code> property.</p>
<h3><a name="The Face5">The Face</a></h3>
<p><img src="vgclock.aspx_files/face.png" border="0" width="206" height="207"></p><div class="SmallText" id="premain3" style="width: 100%; cursor: pointer;"><img preid="3" src="vgclock.aspx_files/minus.gif" id="preimg3" width="9" height="9"><span preid="3" style="margin-bottom: 0pt;" id="precollapse3"> Collapse</span></div><pre style="margin-top: 0pt;" id="pre3"><span class="code-keyword">&lt;</span>Ellipse Name=<span class="code-string">"</span><span class="code-string">face"</span> Location=<span class="code-string">"</span><span class="code-string">114, 114"</span> Size=<span class="code-string">"</span><span class="code-string">173, 173"</span><br>         StyleReference=<span class="code-string">"</span><span class="code-string">Face"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span> /<span class="code-keyword">&gt;</span></pre><div class="SmallText" id="premain4" style="width: 100%; cursor: pointer;"><img preid="4" src="vgclock.aspx_files/minus.gif" id="preimg4" width="9" height="9"><span preid="4" style="margin-bottom: 0pt;" id="precollapse4"> Collapse</span></div><pre style="margin-top: 0pt;" id="pre4"><span class="code-keyword">&lt;</span>pds:Style Name=<span class="code-string">"</span><span class="code-string">Face"</span><span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>pds:Fill<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>pds:LinearGradientFill GradientType=<span class="code-string">"</span><span class="code-string">TwoColor"</span> Angle=<span class="code-string">"</span><span class="code-string">45"</span><br>         EndColor=<span class="code-string">"</span><span class="code-string">0, 0, 0"</span> StartColor=<span class="code-string">"</span><span class="code-string">125, 123, 168"</span> /<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>/pds:Fill<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>/pds:Style<span class="code-keyword">&gt;</span></pre>
<p>A third ellipse and an additional style is created to add the clock face.</p>
<h3><a name="The Shadow6">The Shadow</a></h3>
<p><img src="vgclock.aspx_files/shadow.png" border="0" width="208" height="207"></p><div class="SmallText" id="premain5" style="width: 100%; cursor: pointer;"><img preid="5" src="vgclock.aspx_files/minus.gif" id="preimg5" width="9" height="9"><span preid="5" style="margin-bottom: 0pt;" id="precollapse5"> Collapse</span></div><pre style="margin-top: 0pt;" id="pre5"><span class="code-keyword">&lt;</span>Ellipse Name=<span class="code-string">"</span><span class="code-string">shadow"</span> Location=<span class="code-string">"</span><span class="code-string">102, 102"</span> Size=<span class="code-string">"</span><span class="code-string">200, 200"</span><br>         StyleReference=<span class="code-string">"</span><span class="code-string">ClockShadow"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span> /<span class="code-keyword">&gt;</span></pre><div class="SmallText" id="premain6" style="width: 100%; cursor: pointer;"><img preid="6" src="vgclock.aspx_files/minus.gif" id="preimg6" width="9" height="9"><span preid="6" style="margin-bottom: 0pt;" id="precollapse6"> Collapse</span></div><pre style="margin-top: 0pt;" id="pre6"><span class="code-keyword">&lt;</span>pds:Style Name=<span class="code-string">"</span><span class="code-string">ClockShadow"</span><span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>pds:Fill<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>pds:SolidFill Color=<span class="code-string">"</span><span class="code-string">63, 0, 0, 0"</span> Opacity=<span class="code-string">"</span><span class="code-string">0.247058824"</span> /<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>/pds:Fill<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>/pds:Style<span class="code-keyword">&gt;</span></pre>
<p>A shadow is another ellipse and style.</p>
<p>Objects are drawn one on top of the other, so, the actual order of the vector graphics elements so far is:</p><div class="SmallText" id="premain7" style="width: 100%; cursor: pointer;"><img preid="7" src="vgclock.aspx_files/minus.gif" id="preimg7" width="9" height="9"><span preid="7" style="margin-bottom: 0pt;" id="precollapse7"> Collapse</span></div><pre style="margin-top: 0pt;" id="pre7"><span class="code-keyword">&lt;</span>Elements<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>Ellipse Name=<span class="code-string">"</span><span class="code-string">shadow"</span> Location=<span class="code-string">"</span><span class="code-string">102, 102"</span> Size=<span class="code-string">"</span><span class="code-string">200, 200"</span><br>           StyleReference=<span class="code-string">"</span><span class="code-string">ClockShadow"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span> /<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>Ellipse Name=<span class="code-string">"</span><span class="code-string">outerRim"</span> Location=<span class="code-string">"</span><span class="code-string">100, 100"</span> Size=<span class="code-string">"</span><span class="code-string">200, 200"</span><br>           StyleReference=<span class="code-string">"</span><span class="code-string">Rim"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span> /<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>Ellipse Name=<span class="code-string">"</span><span class="code-string">innerRim"</span> Location=<span class="code-string">"</span><span class="code-string">110, 110"</span> Size=<span class="code-string">"</span><span class="code-string">180, 180"</span><br>           StyleReference=<span class="code-string">"</span><span class="code-string">Rim"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span><span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>Fill<span class="code-keyword">&gt;</span>
      <span class="code-keyword">&lt;</span>pds:LinearGradientFill Angle=<span class="code-string">"</span><span class="code-string">225"</span> /<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>/Fill<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>/Ellipse<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>Ellipse Name=<span class="code-string">"</span><span class="code-string">face"</span> Location=<span class="code-string">"</span><span class="code-string">114, 114"</span> Size=<span class="code-string">"</span><span class="code-string">173, 173"</span><br>           StyleReference=<span class="code-string">"</span><span class="code-string">Face"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span> /<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>/Elements<span class="code-keyword">&gt;</span></pre>
<h3><a name="The Numerals7">The Numerals</a></h3>
<p><img src="vgclock.aspx_files/clockNumerals.png" border="0" width="207" height="208"></p><div class="SmallText" id="premain8" style="width: 100%; cursor: pointer;"><img preid="8" src="vgclock.aspx_files/minus.gif" id="preimg8" width="9" height="9"><span preid="8" style="margin-bottom: 0pt;" id="precollapse8"> Collapse</span></div><pre style="margin-top: 0pt;" id="pre8"><span class="code-keyword">&lt;</span>Picture<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>TextAppearance<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>pds:TextAppearance Color=<span class="code-string">"</span><span class="code-string">192, 192, 255"</span> Size=<span class="code-string">"</span><span class="code-string">18"</span><br>         FaceName=<span class="code-string">"</span><span class="code-string">Maiandra GD"</span> RenderingHint=<span class="code-string">"</span><span class="code-string">AntiAliasGridFit"</span><br>         SizeUnit=<span class="code-string">"</span><span class="code-string">World"</span> /<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>/TextAppearance<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>Elements<span class="code-keyword">&gt;</span>
  ...</pre>
<p>The <code>TextAppearance</code> property of the <code>Picture</code> object is instantiated to the default text appearance, which is used for each numeral:</p><div class="SmallText" id="premain9" style="width: 100%; cursor: pointer;"><img preid="9" src="vgclock.aspx_files/minus.gif" id="preimg9" width="9" height="9"><span preid="9" style="margin-bottom: 0pt;" id="precollapse9"> Collapse</span></div><pre style="margin-top: 0pt;" id="pre9"><span class="code-keyword">&lt;</span>Rectangle Name=<span class="code-string">"</span><span class="code-string">one"</span> Text=<span class="code-string">"</span><span class="code-string">1"</span> Location=<span class="code-string">"</span><span class="code-string">220, 124.3782"</span> Size=<span class="code-string">"</span><span class="code-string">30, 30"</span><br>           StyleReference=<span class="code-string">"</span><span class="code-string">Numeral"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span> /<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>Rectangle Name=<span class="code-string">"</span><span class="code-string">two"</span> Text=<span class="code-string">"</span><span class="code-string">2"</span> Location=<span class="code-string">"</span><span class="code-string">245.6218, 150"</span> Size=<span class="code-string">"</span><span class="code-string">30, 30"</span><br>           StyleReference=<span class="code-string">"</span><span class="code-string">Numeral"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span> /<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>Rectangle Name=<span class="code-string">"</span><span class="code-string">three"</span> Text=<span class="code-string">"</span><span class="code-string">3"</span> Location=<span class="code-string">"</span><span class="code-string">255, 185"</span> Size=<span class="code-string">"</span><span class="code-string">30, 30"</span><br>           StyleReference=<span class="code-string">"</span><span class="code-string">Numeral"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span> /<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>Rectangle Name=<span class="code-string">"</span><span class="code-string">four"</span> Text=<span class="code-string">"</span><span class="code-string">4"</span> Location=<span class="code-string">"</span><span class="code-string">245.6218, 220"</span> Size=<span class="code-string">"</span><span class="code-string">30, 30"</span><br>           StyleReference=<span class="code-string">"</span><span class="code-string">Numeral"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span> /<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>Rectangle Name=<span class="code-string">"</span><span class="code-string">five"</span> Text=<span class="code-string">"</span><span class="code-string">5"</span> Location=<span class="code-string">"</span><span class="code-string">220, 245.6218"</span> Size=<span class="code-string">"</span><span class="code-string">30, 30"</span><br>           StyleReference=<span class="code-string">"</span><span class="code-string">Numeral"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span> /<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>Rectangle Name=<span class="code-string">"</span><span class="code-string">six"</span> Text=<span class="code-string">"</span><span class="code-string">6"</span> Location=<span class="code-string">"</span><span class="code-string">185, 255"</span> Size=<span class="code-string">"</span><span class="code-string">30, 30"</span><br>           StyleReference=<span class="code-string">"</span><span class="code-string">Numeral"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span> /<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>Rectangle Name=<span class="code-string">"</span><span class="code-string">seven"</span> Text=<span class="code-string">"</span><span class="code-string">7"</span> Location=<span class="code-string">"</span><span class="code-string">150, 245"</span> Size=<span class="code-string">"</span><span class="code-string">30, 30"</span><br>           StyleReference=<span class="code-string">"</span><span class="code-string">Numeral"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span> /<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>Rectangle Name=<span class="code-string">"</span><span class="code-string">eight"</span> Text=<span class="code-string">"</span><span class="code-string">8"</span> Location=<span class="code-string">"</span><span class="code-string">124.3782, 220"</span> Size=<span class="code-string">"</span><span class="code-string">30, 30"</span><br>           StyleReference=<span class="code-string">"</span><span class="code-string">Numeral"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span> /<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>Rectangle Name=<span class="code-string">"</span><span class="code-string">nine"</span> Text=<span class="code-string">"</span><span class="code-string">9"</span> Location=<span class="code-string">"</span><span class="code-string">115, 185"</span> Size=<span class="code-string">"</span><span class="code-string">30, 30"</span><br>           StyleReference=<span class="code-string">"</span><span class="code-string">Numeral"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span> /<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>Rectangle Name=<span class="code-string">"</span><span class="code-string">ten"</span> Text=<span class="code-string">"</span><span class="code-string">10"</span> Location=<span class="code-string">"</span><span class="code-string">124.3782, 150"</span> Size=<span class="code-string">"</span><span class="code-string">30, 30"</span><br>           StyleReference=<span class="code-string">"</span><span class="code-string">Numeral"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span> /<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>Rectangle Name=<span class="code-string">"</span><span class="code-string">eleven"</span> Text=<span class="code-string">"</span><span class="code-string">11"</span> Location=<span class="code-string">"</span><span class="code-string">150, 124.3782"</span> Size=<span class="code-string">"</span><span class="code-string">30, 30"</span><br>           StyleReference=<span class="code-string">"</span><span class="code-string">Numeral"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span> /<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>Rectangle Name=<span class="code-string">"</span><span class="code-string">twelve"</span> Text=<span class="code-string">"</span><span class="code-string">12"</span> Location=<span class="code-string">"</span><span class="code-string">185, 115"</span> Size=<span class="code-string">"</span><span class="code-string">30, 30"</span><br>           StyleReference=<span class="code-string">"</span><span class="code-string">Numeral"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span>/<span class="code-keyword">&gt;</span>
</pre><div class="SmallText" id="premain10" style="width: 100%; cursor: pointer;"><img preid="10" src="vgclock.aspx_files/minus.gif" id="preimg10" width="9" height="9"><span preid="10" style="margin-bottom: 0pt;" id="precollapse10"> Collapse</span></div><pre style="margin-top: 0pt;" id="pre10"><span class="code-keyword">&lt;</span>pds:Style Name=<span class="code-string">"</span><span class="code-string">Numeral"</span><span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>pds:Fill<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>pds:SolidFill Opacity=<span class="code-string">"</span><span class="code-string">0"</span> /<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>/pds:Fill<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>/pds:Style<span class="code-keyword">&gt;</span></pre>
<p>Each numeral is placed on top of the clock face, and therefore appears after the "face" <code>Ellipse</code> in the <code>Elements</code>
list.&nbsp; If you're wondering about whether I hand coded the
precision of the placement to the ten-thousandth's decimal, the answer
is no.&nbsp; Since my understanding of vector graphics is rather new,
Frank Hileman drew the clock in the VG.net designer.&nbsp; I asked
Frank how he did it, and this is what he said:</p>
<p><i>First I created "twelve" and positioned it at the top.&nbsp; I selected "twelve" and set the <code>TransformationReference</code> <code>Type</code> property to "Absolute".&nbsp; Then I changed the <code>TransformationReference Location</code> to the center of the circles:</i></p><div class="SmallText" id="premain11" style="width: 100%; cursor: pointer;"><img preid="11" src="vgclock.aspx_files/minus.gif" id="preimg11" width="9" height="9"><span preid="11" style="margin-bottom: 0pt;" id="precollapse11"> Collapse</span></div><pre style="margin-top: 0pt;" id="pre11"><span class="code-keyword">&lt;</span>TransformationReference<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>TransformationReference Location=<span class="code-string">"</span><span class="code-string">200, 200"</span> Type=<span class="code-string">"</span><span class="code-string">Absolute"</span>/<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>/TransformationReference<span class="code-keyword">&gt;</span></pre>
<p><i>Now any change to Rotation will go about that Location.&nbsp; I
did a copy/paste of "twelve", creating an identical object in the same
place.&nbsp; Let's make that one "three".&nbsp; Change the Rotation
property to 90, and the Text property to "3". You now have text rotated
about the center of the clock. </i></p>
<p><i>Now we need to remove the Rotation, but relative to the text
center, and not the clock center.&nbsp; Select "three".&nbsp; Right
click on the TransformationReference property, and click "Reset". The
reference point goes back to Center, but the object does not change
position. Now right click on Rotation, and click "Reset". The rotation
is gone, but the text does not move.</i></p>
<p><i>I copied the "twelve" object 11 times, each time&nbsp;setting the
Rotation property&nbsp;by a multiple of 30 degrees, changing the Name
and Text properties, and doing a Reset on the TransformationReference
and Rotation, in that order.</i></p>
<h3><a name="The Minute Hand8">The Minute Hand</a></h3>
<p><img src="vgclock.aspx_files/minute.png" border="0" width="211" height="209"></p><div class="SmallText" id="premain12" style="width: 100%; cursor: pointer;"><img preid="12" src="vgclock.aspx_files/minus.gif" id="preimg12" width="9" height="9"><span preid="12" style="margin-bottom: 0pt;" id="precollapse12"> Collapse</span></div><pre style="margin-top: 0pt;" id="pre12"><span class="code-keyword">&lt;</span>Group Name=<span class="code-string">"</span><span class="code-string">minute"</span> StyleReference=<span class="code-string">"</span><span class="code-string">Minute"</span><span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>TransformationReference<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>TransformationReference Location=<span class="code-string">"</span><span class="code-string">200, 200"</span> Type=<span class="code-string">"</span><span class="code-string">Absolute"</span> /<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>/TransformationReference<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>Elements<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>Path Name=<span class="code-string">"</span><span class="code-string">leftMinute"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span><span class="code-keyword">&gt;</span>
      <span class="code-keyword">&lt;</span>PathPoints<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">200.101, 120"</span> Type=<span class="code-string">"</span><span class="code-string">Start"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">199.7635, 131.6271"</span> Type=<span class="code-string">"</span><span class="code-string">Control1"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">195, 194.9518"</span> Type=<span class="code-string">"</span><span class="code-string">Control2"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">195.0503, 198.8948"</span> Type=<span class="code-string">"</span><span class="code-string">EndBezier"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">195.1006, 202.8378"</span> Type=<span class="code-string">"</span><span class="code-string">Control1"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">197.7291, 205.1745"</span> Type=<span class="code-string">"</span><span class="code-string">Control2"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">200, 204.9767"</span> Type=<span class="code-string">"</span><span class="code-string">EndBezier"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">200.2, 204.5694"</span> Type=<span class="code-string">"</span><span class="code-string">EndLine"</span> /<span class="code-keyword">&gt;</span>
      <span class="code-keyword">&lt;</span>/PathPoints<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>/Path<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>Path Name=<span class="code-string">"</span><span class="code-string">rightMinute"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span> Scaling=<span class="code-string">"</span><span class="code-string">1, -1.213767"</span><br>          Rotation=<span class="code-string">"</span><span class="code-string">180"</span><span class="code-keyword">&gt;</span>
      <span class="code-keyword">&lt;</span>PathPoints<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">205.09, 197.4994"</span> Type=<span class="code-string">"</span><span class="code-string">Start"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">202.8521, 197.6623"</span> Type=<span class="code-string">"</span><span class="code-string">Control1"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">200.1495, 195.748"</span> Type=<span class="code-string">"</span><span class="code-string">Control2"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">200.0996, 192.4994"</span> Type=<span class="code-string">"</span><span class="code-string">EndBezier"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">200.0498, 189.2508"</span> Type=<span class="code-string">"</span><span class="code-string">Control1"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">204.7664, 137.0788"</span> Type=<span class="code-string">"</span><span class="code-string">Control2"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">205.09, 127.4994"</span> Type=<span class="code-string">"</span><span class="code-string">EndBezier"</span> /<span class="code-keyword">&gt;</span>
      <span class="code-keyword">&lt;</span>/PathPoints<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>/Path<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>/Elements<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>/Group<span class="code-keyword">&gt;</span></pre><div class="SmallText" id="premain13" style="width: 100%; cursor: pointer;"><img preid="13" src="vgclock.aspx_files/minus.gif" id="preimg13" width="9" height="9"><span preid="13" style="margin-bottom: 0pt;" id="precollapse13"> Collapse</span></div><pre style="margin-top: 0pt;" id="pre13"><span class="code-keyword">&lt;</span>pds:Style Name=<span class="code-string">"</span><span class="code-string">Minute"</span><span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>pds:Fill<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>pds:LinearGradientFill Bounds=<span class="code-string">"</span><span class="code-string">0, 0.8, 1.3, 1.3"</span><br>         GradientType=<span class="code-string">"</span><span class="code-string">TwoColorBell"</span> Angle=<span class="code-string">"</span><span class="code-string">140"</span> EndColor=<span class="code-string">"</span><span class="code-string">202, 222, 255"</span><br>         StartColor=<span class="code-string">"</span><span class="code-string">0, 0, 128"</span> /<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>/pds:Fill<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>/pds:Style<span class="code-keyword">&gt;</span></pre>
<p>I asked Frank how he made the hands, and here's what he said:</p>
<p><i>I have to admit, there is a Hack in there.&nbsp; Here is how I
did it: I created a 3-point spline for one half of the hand.&nbsp; Then
I converted that to a Path, and tweaked the control points a bit.&nbsp;
Then I did a copy/paste, creating an identical object in the same
place.&nbsp; To mirror, I set the scale X property to -1 (for the
minute hand).&nbsp; Then I moved the hand over to the right, using grid
snap to align with the other.&nbsp; Since each Path displays a linear
gradient, but one displays in the opposite direction (because of
negative scaling), together they give it that 3D effect.<br><br>Now why
to you see that weird scaling in the generated xml?&nbsp; This is
because I resized the two halves after I created them.&nbsp; Since the
left half did not need a -1 scaling, the designer transformed the
points in the path.&nbsp; I could have removed the weird scaling on the
right half with ApplyTransformation, but I needed to leave the negative
scaling in the right half, to reverse the gradient (so I can keep the
same Style for both). By default, when you resize, the designer does
not apply the transform to the points if the object already has a
scaling.&nbsp; So the right half kept its scaling, but it is
modified.&nbsp; If I had just resized the left half correctly before
the copy paste, you would not see that weird scaling.<br><br>The hour hand was done similarly but I did it horizontally.<br><br>The
Bounds and Angle on the LinearGradientFill were carefully chosen to
line the darker edge of the gradient up with the angle of the Path.<br><br>Now
the Hack. There was a small line visible up the middle of the arrows
(still is at smaller scales, didn't get rid of it completely).&nbsp;
This is caused by the fill algorithms in GDI+ not aligning edges of
filled areas perfectly, so you see the background a bit.&nbsp; I went
and added an extra point to the left half to cover that.&nbsp; I also
tried to cover it by tweaking the end points a bit but that never
really worked.&nbsp; A better choice I realize now would be to draw a
single pixel line up the middle, behind the two filled halves.</i></p>
<p>We want the minute hand to be the bottom-most hand, so it gets
declared immediately after the numerals, and has its own style.&nbsp;
In this markup, a group (a composite of elements) is being declared,
one for each half of the minute hand.&nbsp; The <code>Path</code>
class defines a set of figures each of which contains a set of straight
and curved segments (the path points were determined by the designer,
not by me!).</p>
<p>Also note that the entire group uses a <code>TransformationReference</code>
to specify an absolute reference point for the group.&nbsp; This allows
us to rotate the starting point of the minute hand paths about the
center of the clock.</p>
<h3><a name="The Hour Hand9">The Hour Hand</a></h3>
<p><img src="vgclock.aspx_files/hour.png" border="0" width="211" height="210"></p><div class="SmallText" id="premain14" style="width: 100%; cursor: pointer;"><img preid="14" src="vgclock.aspx_files/minus.gif" id="preimg14" width="9" height="9"><span preid="14" style="margin-bottom: 0pt;" id="precollapse14"> Collapse</span></div><pre style="margin-top: 0pt;" id="pre14"><span class="code-keyword">&lt;</span>Group Name=<span class="code-string">"</span><span class="code-string">hour"</span> StyleReference=<span class="code-string">"</span><span class="code-string">Hour"</span><span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>TransformationReference<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>TransformationReference Location=<span class="code-string">"</span><span class="code-string">200, 200"</span> Type=<span class="code-string">"</span><span class="code-string">Absolute"</span> /<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>/TransformationReference<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>Elements<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>Path Name=<span class="code-string">"</span><span class="code-string">leftHour"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span> Rotation=<span class="code-string">"</span><span class="code-string">270"</span><span class="code-keyword">&gt;</span>
      <span class="code-keyword">&lt;</span>PathPoints<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">225.1051, 179.8949"</span> Type=<span class="code-string">"</span><span class="code-string">Start"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">217.4753, 179.0615"</span> Type=<span class="code-string">"</span><span class="code-string">Control1"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">188.4821, 174.8949"</span> Type=<span class="code-string">"</span><span class="code-string">Control2"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">179.3263, 174.8949"</span> Type=<span class="code-string">"</span><span class="code-string">EndBezier"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">170.1706, 174.8949"</span> Type=<span class="code-string">"</span><span class="code-string">Control1"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">170.1053, 178.2542"</span> Type=<span class="code-string">"</span><span class="code-string">Control2"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">170.1706, 179.8949"</span> Type=<span class="code-string">"</span><span class="code-string">EndBezier"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">170.4581, 180.1053"</span> Type=<span class="code-string">"</span><span class="code-string">EndLine"</span> /<span class="code-keyword">&gt;</span>
      <span class="code-keyword">&lt;</span>/PathPoints<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>/Path<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>Path Name=<span class="code-string">"</span><span class="code-string">rightHour"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Fill"</span> Scaling=<span class="code-string">"</span><span class="code-string">1.831152, -1"</span><br>          Rotation=<span class="code-string">"</span><span class="code-string">270"</span><span class="code-keyword">&gt;</span>
      <span class="code-keyword">&lt;</span>PathPoints<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">217.3672, 179.8948"</span> Type=<span class="code-string">"</span><span class="code-string">Start"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">213.2005, 179.0614"</span> Type=<span class="code-string">"</span><span class="code-string">Control1"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">197.3672, 174.8948"</span> Type=<span class="code-string">"</span><span class="code-string">Control2"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">192.3672, 174.8948"</span> Type=<span class="code-string">"</span><span class="code-string">EndBezier"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">187.3672, 174.8948"</span> Type=<span class="code-string">"</span><span class="code-string">Control1"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">187.3315, 178.2541"</span> Type=<span class="code-string">"</span><span class="code-string">Control2"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">187.3672, 179.8948"</span> Type=<span class="code-string">"</span><span class="code-string">EndBezier"</span> /<span class="code-keyword">&gt;</span>
        <span class="code-keyword">&lt;</span>PathPoint Point=<span class="code-string">"</span><span class="code-string">187.5243, 180.1052"</span> Type=<span class="code-string">"</span><span class="code-string">EndLine"</span> /<span class="code-keyword">&gt;</span>
      <span class="code-keyword">&lt;</span>/PathPoints<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>/Path<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>/Elements<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>/Group<span class="code-keyword">&gt;</span></pre><div class="SmallText" id="premain15" style="width: 100%; cursor: pointer;"><img preid="15" src="vgclock.aspx_files/minus.gif" id="preimg15" width="9" height="9"><span preid="15" style="margin-bottom: 0pt;" id="precollapse15"> Collapse</span></div><pre style="margin-top: 0pt;" id="pre15"><span class="code-keyword">&lt;</span>pds:Style Name=<span class="code-string">"</span><span class="code-string">Hour"</span><span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>pds:Fill<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>pds:LinearGradientFill Bounds=<span class="code-string">"</span><span class="code-string">0, 0.8, 1.3, 1.3"</span><br>         GradientType=<span class="code-string">"</span><span class="code-string">TwoColorBell"</span> Angle=<span class="code-string">"</span><span class="code-string">140"</span> EndColor=<span class="code-string">"</span><span class="code-string">202, 222, 255"</span><br>         StartColor=<span class="code-string">"</span><span class="code-string">0, 0, 128"</span> /<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>/pds:Fill<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>/pds:Style<span class="code-keyword">&gt;</span></pre>
<p>The hour hand is almost identical to the minute hand--it consists of
a group of elements containing two paths, one for the left side and one
for the right side of the hour hand.&nbsp; A separate style is used.</p>
<h3><a name="The Second Hand10">The Second Hand</a></h3>
<p><img src="vgclock.aspx_files/second.png" border="0" width="206" height="208"></p><div class="SmallText" id="premain16" style="width: 100%; cursor: pointer;"><img preid="16" src="vgclock.aspx_files/minus.gif" id="preimg16" width="9" height="9"><span preid="16" style="margin-bottom: 0pt;" id="precollapse16"> Collapse</span></div><pre style="margin-top: 0pt;" id="pre16"><span class="code-keyword">&lt;</span>Polyline Name=<span class="code-string">"</span><span class="code-string">second"</span> StyleReference=<span class="code-string">"</span><span class="code-string">Second"</span> DrawAction=<span class="code-string">"</span><span class="code-string">Edge"</span><span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>TransformationReference<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>TransformationReference Location=<span class="code-string">"</span><span class="code-string">200, 200"</span> Type=<span class="code-string">"</span><span class="code-string">Absolute"</span> /<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>/TransformationReference<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>Points<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>Vector X=<span class="code-string">"</span><span class="code-string">200"</span> Y=<span class="code-string">"</span><span class="code-string">200"</span> /<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>Vector X=<span class="code-string">"</span><span class="code-string">200"</span> Y=<span class="code-string">"</span><span class="code-string">135"</span> /<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>/Points<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>/Polyline<span class="code-keyword">&gt;</span></pre><div class="SmallText" id="premain17" style="width: 100%; cursor: pointer;"><img preid="17" src="vgclock.aspx_files/minus.gif" id="preimg17" width="9" height="9"><span preid="17" style="margin-bottom: 0pt;" id="precollapse17"> Collapse</span></div><pre style="margin-top: 0pt;" id="pre17"><span class="code-keyword">&lt;</span>pds:Style Name=<span class="code-string">"</span><span class="code-string">Second"</span><span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>pds:Stroke<span class="code-keyword">&gt;</span>
    <span class="code-keyword">&lt;</span>pds:Stroke Color=<span class="code-string">"</span><span class="code-string">255, 255, 255"</span> EndCap=<span class="code-string">"</span><span class="code-string">Round"</span> StartCap=<span class="code-string">"</span><span class="code-string">Round"</span><br>         Width=<span class="code-string">"</span><span class="code-string">1"</span> /<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>/pds:Stroke<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>/pds:Style<span class="code-keyword">&gt;</span></pre>
<p>Being a straight line, the second hand is simpler and is implemented as a <code>PolyLine</code> with a start point and an end point.</p>
<h2><a name="Animating The Clock11">Animating The Clock</a></h2>
<p>The only thing left now is to have the clock tell the time!&nbsp; We need to do three things:</p>
<p>1. Add an xmlns to the <code>System.Windows.Forms</code> namespace, so that the complete namespace list now reads:</p><div class="SmallText" id="premain18" style="width: 100%; cursor: pointer;"><img preid="18" src="vgclock.aspx_files/minus.gif" id="preimg18" width="9" height="9"><span preid="18" style="margin-bottom: 0pt;" id="precollapse18"> Collapse</span></div><pre style="margin-top: 0pt;" id="pre18"><span class="code-keyword">&lt;</span>MyXaml
  xmlns:def=<span class="code-string">"</span><span class="code-string">Definition"</span>
  xmlns=<span class="code-string">"</span><span class="code-string">Prodige.Drawing, Prodige.Drawing"</span>
  xmlns:pds=<span class="code-string">"</span><span class="code-string">Prodige.Drawing.Styles, Prodige.Drawing"</span>
  xmlns:wf=<span class="code-string">"</span><span class="code-string">System.Windows.Forms"</span><span class="code-keyword">&gt;</span></pre>
<p>2. Instantiate a <code>Timer</code> (the reason for the <code>System.Windows.Forms</code> namespace):</p><div class="SmallText" id="premain19" style="width: 100%; cursor: pointer;"><img preid="19" src="vgclock.aspx_files/minus.gif" id="preimg19" width="9" height="9"><span preid="19" style="margin-bottom: 0pt;" id="precollapse19"> Collapse</span></div><pre style="margin-top: 0pt;" id="pre19"><span class="code-keyword">&lt;</span>Picture Name=<span class="code-string">"</span><span class="code-string">Clock"</span><span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>wf:Timer Tick=<span class="code-string">'</span><span class="code-string">OnTick'</span> Interval=<span class="code-string">'</span><span class="code-string">10'</span> Enabled=<span class="code-string">'</span><span class="code-string">true'</span>/<span class="code-keyword">&gt;</span>
  ...</pre>
<p>3. Implement the event handler:</p><div class="SmallText" id="premain20" style="width: 100%; cursor: pointer;"><img preid="20" src="vgclock.aspx_files/minus.gif" id="preimg20" width="9" height="9"><span preid="20" style="margin-bottom: 0pt;" id="precollapse20"> Collapse</span></div><pre style="margin-top: 0pt;" id="pre20"><span class="code-keyword">&lt;</span>def:Code language=<span class="code-string">"</span><span class="code-string">'C#'"</span><span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>reference assembly=<span class="code-string">"</span><span class="code-string">System.Windows.Forms.dll"</span>/<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>reference assembly=<span class="code-string">"</span><span class="code-string">System.Xml.dll"</span>/<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>reference assembly=<span class="code-string">"</span><span class="code-string">myxaml.dll"</span>/<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>reference assembly=<span class="code-string">"</span><span class="code-string">Prodige.Drawing.dll"</span>/<span class="code-keyword">&gt;</span>
  <span class="code-keyword">&lt;</span>![CDATA[
<span class="code-keyword">using</span> System;
<span class="code-keyword">using</span> System.ComponentModel;
<span class="code-keyword">using</span> System.Diagnostics;
<span class="code-keyword">using</span> System.Windows.Forms;

<span class="code-keyword">using</span> MyXaml;
<span class="code-keyword">using</span> Prodige.Drawing;

<span class="code-keyword">class</span> AppHelpers
{
  <span class="code-keyword">public</span> Parser parser;

  <span class="code-keyword">public</span> AppHelpers()
  {
    parser=Parser.CurrentInstance;
  }

  <span class="code-keyword">public</span> <span class="code-keyword">void</span> OnTick(<span class="code-SDKkeyword">object</span> sender, EventArgs e)
  {
    DateTime n = DateTime.Now;

    Polyline second=(Polyline)picture.Elements[<span class="code-string">"</span><span class="code-string">second"</span>];
    Group minute=(Group)picture.Elements[<span class="code-string">"</span><span class="code-string">minute"</span>];
    Group hour=(Group)picture.Elements[<span class="code-string">"</span><span class="code-string">hour"</span>];

    second.Rotation = 360F * ((n.Second+ n.Millisecond/1000F)/60F);
    minute.Rotation = 360F * (n.Minute + n.Second/60F)/60F;
    hour.Rotation = 360F * (n.Hour + n.Minute/60F)/12F;
  }
}
]]<span class="code-keyword">&gt;</span>
<span class="code-keyword">&lt;</span>/def:Code<span class="code-keyword">&gt;</span></pre>
<h3><a name="Wiring Up The Handler In A Compiled Assembly12">Wiring Up The Handler In A Compiled Assembly</a></h3>
<p>If you don't like the in-line code intermingled with the markup, you
can wire up the event handler in your own assembly. At the beginning of
this article I showed a code snippet for the loader:</p><div class="SmallText" id="premain21" style="width: 100%; cursor: pointer;"><img preid="21" src="vgclock.aspx_files/minus.gif" id="preimg21" width="9" height="9"><span preid="21" style="margin-bottom: 0pt;" id="precollapse21"> Collapse</span></div><pre style="margin-top: 0pt;" id="pre21">Parser parser=new Parser();
<span class="code-SDKkeyword">object</span> picture=parser.LoadForm(filename, <span class="code-string">"</span><span class="code-string">*"</span>, null, null);
Type type=picture.GetType();
MethodInfo mi=type.GetMethod(<span class="code-string">"</span><span class="code-string">DisplayInForm"</span>);
Form form=mi.Invoke(picture, <span class="code-keyword">new</span> <span class="code-SDKkeyword">object</span>[] {<span class="code-keyword">new</span> Size(<span class="code-digit">10</span>, <span class="code-digit">10</span>)}) as Form;
form.ShowDialog();</pre>
<p>By specifying a target object for events (change the first null to a
"this" or any other instance of a class that contains the event
handler):</p><div class="SmallText" id="premain22" style="width: 100%; cursor: pointer;"><img preid="22" src="vgclock.aspx_files/minus.gif" id="preimg22" width="9" height="9"><span preid="22" style="margin-bottom: 0pt;" id="precollapse22"> Collapse</span></div><pre style="margin-top: 0pt;" id="pre22"><span class="code-SDKkeyword">object</span> picture=parser.LoadForm(filename, <span class="code-string">"</span><span class="code-string">*"</span>, <span class="code-keyword">this</span>, null);</pre>
<p>you can copy the <code>OnTick</code> method directly into your assembly, and the parser will automatically wire up the event to your assembly.</p>
<h2><a name="Conclusion13">Conclusion</a></h2>
<p>The ability for MyXaml to work with third party runtimes provides an
exceptionally easy way of plugging in functionality to an
application.&nbsp; Compared to the C# code, the markup is less than
1/10th the size, and in my opinion is a lot more readable and easier to
edit.</p>
<p>And some truly amazing applications can be written in conjunction
with VG.net's free runtime vector graphics engine.&nbsp; I hope this
article stimulates a lot of discussion and whets your appetite for the
beauty of vector graphics!</p>
<p>Additional examples of vector graphics are provided in the download.</p>
<h2><a name="Notes14">Notes</a></h2>
<p>1. The version of MyXaml included in this demo is a pre-release of
the next beta (0.95).&nbsp; You can download the source from the CVS
site on <a href="http://myxaml.tigris.org/">http://myxaml.tigris.org/</a> or wait for me to release the next version.</p>
<p>2. The vector graphics engine in this demo is not necessarily the
most current.&nbsp; You can download the latest runtime vector graphics
engine at <a href="http://www.vgdotnet.com/">http://www.vgdotnet.com/</a>.&nbsp;
(Obviously, there is no source for the VG engine.&nbsp; But the runtime
is free and fully documented).&nbsp; VG.net is also offering a 30-day
time limited beta version of their designer.</p>
<h2><a name="Further Reading15">Further Reading</a></h2>
<p>1. <a href="http://www.codeproject.com/cs/miscctrl/xmlGuiGenerator.asp">MyXaml--XAML-style GUI Generator</a></p>
<p>2. <a href="http://www.donxml.com/vectorgraphicsanddeclarativeanimationwithavalon.htm">Vector Graphics and Declarative Animation with Avalon - the Analog Clock</a></p>
<p>3. <a href="http://www.adobe.com/svg/demos/clock.html">Adobe SVG Analog Clock</a> (requires an SVG viewer)</p>
<p>4. <a href="http://www.w3.org/TR/SVG/">Scalable Vector Graphics (SVG) 1.1. Specification</a></p>






	<!-- Main Page Contents End -->
	
	</div>
	
	
	<form name="aspnetForm" method="post" action="displayarticle.aspx" id="aspnetForm" style="margin: 0pt; padding: 0pt;">
<div>
<input name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTAyMTMzODg1Ng9kFgJmD2QWBAILD2QWBAIDDw8WAh4HVmlzaWJsZWdkZAINDw8WAh8AZ2RkAgwPZBYKAgcPZBYMAgEPZBYCZg8WAh4LXyFJdGVtQ291bnQCARYCAgEPZBYEAgEPDxYCHghJbWFnZVVybAUmL3NjcmlwdC9Bd2FyZHMvSW1hZ2VzL3ByaXplX3dpbm5lci5naWZkZAIDDxYCHgRUZXh0BQ0iQyMgTWFyIDIwMDQiZAIDD2QWCGYPDxYCHgtOYXZpZ2F0ZVVybAUlL0tCL2RvdG5ldC92Z2Nsb2NrLmFzcHg/ZGlzcGxheT1QcmludGRkAgIPDxYCHwBoZGQCAw9kFgYCAg8PFgIfAgUhL3NjcmlwdC9Cb29rbWFya3MvSW1hZ2VzL2xpbmsucG5nZGQCBA8PFgIfBAU/L3NjcmlwdC9Cb29rbWFya3MvQWRkLmFzcHg/b2JpZD02NzMzJm9idGlkPTImYWN0aW9uPUFkZEJvb2ttYXJrFgYeBG5hbWUFCWJtXzY3MzNfMh4FY2xhc3NlHgdvbmNsaWNrBRtyZXR1cm4gYm9va21hcmtNZSg2NzMzLCAyKTtkAgYPFgIfBQUJYm1fNjczM18yZAIEDw8WAh8EBSUvc2NyaXB0L0FydGljbGVzL1JlcG9ydC5hc3B4P2FpZD02NzMzZGQCBQ8WAh8FBQtDdXJSYXRfNjczMxYCZg9kFgJmD2QWAmYPZBYEAgEPZBYCAgEPDxYCHwMFGjc0IHZvdGVzIGZvciB0aGlzIGFydGljbGUuZGQCBw9kFgJmD2QWBAIBDw8WBB8DBRBQb3B1bGFyaXR5OiA4LjcyHwQFKS9zY3JpcHQvQXJ0aWNsZXMvVG9wQXJ0aWNsZXMuYXNweD90YV9zbz0xZGQCBQ8WAh8DBRxSYXRpbmc6IDxiPjQuNjc8L2I+IG91dCBvZiA1ZAIZD2QWCgIBD2QWBAIBDxYCHglpbm5lcmh0bWwFsQI8cD5UaGlzIGFydGljbGUgaGFzIG5vIGV4cGxpY2l0IGxpY2Vuc2UgYXR0YWNoZWQgdG8gaXQgYnV0IG1heSBjb250YWluIHVzYWdlIHRlcm1zIGluIHRoZSBhcnRpY2xlIHRleHQgb3IgdGhlIGRvd25sb2FkIGZpbGVzIHRoZW1zZWx2ZXMuIElmIGluIGRvdWJ0IHBsZWFzZSBjb250YWN0IHRoZSBhdXRob3IgdmlhIHRoZSBkaXNjdXNzaW9uIGJvYXJkIGJlbG93LjwvcD48cD5BIGxpc3Qgb2YgbGljZW5zZXMgYXV0aG9ycyBtaWdodCB1c2UgY2FuIGJlIGZvdW5kIDxhIGhyZWY9Ii9pbmZvL0xpY2Vuc2VzLmFzcHgiPmhlcmU8L2E+PC9wPmQCAg9kFgICAQ8QZGQWAGQCBQ8WAh8BAgFkAgcPFgIfAwWNCDxoMj5PdGhlciBwb3B1bGFyIC5ORVQgRnJhbWV3b3JrIGFydGljbGVzOjwvaDI+PHVsPjxsaT48YSBocmVmPSIvS0IvZG90bmV0L3JlZ2V4dHV0b3JpYWwuYXNweCI+VGhlIDMwIE1pbnV0ZSBSZWdleCBUdXRvcmlhbDwvYT48ZGl2IGNsYXNzPSJTbWFsbFRleHQiPkxlYXJuIGhvdyB0byB1c2UgcmVndWxhciBleHByZXNzaW9ucyBpbiAzMCBtaW51dGVzIHdpdGggRXhwcmVzc28uPC9kaXY+PC9saT48bGk+PGEgaHJlZj0iL0tCL2RvdG5ldC9zdHJpbmdzLmFzcHgiPlN0cmluZ3MgVU5ET0NVTUVOVEVEPC9hPjxkaXYgY2xhc3M9IlNtYWxsVGV4dCI+RGV0YWlsZWQgbG9va2VkIGF0IHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBzdHJpbmdzIGluIC5ORVQ8L2Rpdj48L2xpPjxsaT48YSBocmVmPSIvS0IvZG90bmV0L2V4cHJlc3NvLmFzcHgiPkV4cHJlc3NvIC0gQSBUb29sIGZvciBCdWlsZGluZyBhbmQgVGVzdGluZyBSZWd1bGFyIEV4cHJlc3Npb25zPC9hPjxkaXYgY2xhc3M9IlNtYWxsVGV4dCI+Rm9yIGxlYXJuaW5nLCBidWlsZGluZywgYW5kIGRlYnVnZ2luZyAuTkVUIEZyYW1ld29yayByZWd1bGFyIGV4cHJlc3Npb25zPC9kaXY+PC9saT48bGk+PGEgaHJlZj0iL0tCL2RvdG5ldC9teXN0ZXJpZXNvZmNvbmZpZ3VyYXRpb24uYXNweCI+VW5yYXZlbGluZyB0aGUgTXlzdGVyaWVzIG9mIC5ORVQgMi4wIENvbmZpZ3VyYXRpb248L2E+PGRpdiBjbGFzcz0iU21hbGxUZXh0Ij5MZWFybiBob3cgdG8gdXRpbGl6ZSB0aGUgcG93ZXJmdWwgbmV3IC5ORVQgMi4wIGNvbmZpZ3VyYXRpb24gZmVhdHVyZXMgdG8gc2ltcGxpZnkgYW5kIGNlbnRyYWxpemUgeW91ciBjb25maWd1cmF0aW9uIGNvZGUuPC9kaXY+PC9saT48bGk+PGEgaHJlZj0iL0tCL2RvdG5ldC9zaW1wbGV3aW5kb3dzc2VydmljZS5hc3B4Ij5TaW1wbGUgV2luZG93cyBTZXJ2aWNlIFNhbXBsZTwvYT48ZGl2IGNsYXNzPSJTbWFsbFRleHQiPkEgc2ltcGxlIGFwcGxpY2F0aW9uIHRvIHNob3cgaG93IHRvIGNyZWF0ZSBhIFdpbmRvd3Mgc2VydmljZS48L2Rpdj48L2xpPjwvdWw+ZAILDw8WAh8AZ2RkAg0PZBYCZg9kFgICAQ9kFgJmD2QWAmYPFgQfBQUNUmF0ZUl0ZW1fNjczMx8GZRYCAgYPZBYCAgEPD2QWAh8HBSJyZXR1cm4gcmF0ZUl0ZW0oNjczMywyLHRydWUsdHJ1ZSk7ZAIfDw8WAh8AZ2RkAiUPFgIfAGhkAgsPDxYCHwQFJi9zY3JpcHQvQXJ0aWNsZXMvQXJ0aWNsZS5hc3B4P2FpZD02NzMzZGQCEQ8WAh8DBQsxOCBBcHIgMjAwNGQCEw8PFgQfAwUMTWFyYyBDbGlmdG9uHwQFJi9zY3JpcHQvTWVtYmVyc2hpcC9WaWV3LmFzcHg/bWlkPTM2ODAzZGQCFQ8WAh8DBR5Db3B5cmlnaHQgMjAwNCBieSBNYXJjIENsaWZ0b25kZDLyE21asgvwgRTjc1M28+J/3EpF" type="hidden">
</div>

<div>

	<input name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWCAKt3vr3AQLAlMXDBwLBlMXDBwLClMXDBwLDlMXDBwLElMXDBwLP+++tCwK5upDkC9RgoIcYt0m0SGnUO27HRdtes1fH" type="hidden">
</div>

	
	<h2>License</h2>
	<div id="ctl00_LicenseTerms"><p>This
article has no explicit license attached to it but may contain usage
terms in the article text or the download files themselves. If in doubt
please contact the author via the discussion board below.</p><p>A list of licenses authors might use can be found <a href="http://www.codeproject.com/info/Licenses.aspx">here</a></p></div>
	
	<h2>About the Author</h2>
	
			
   
        
<table border="0" cellpadding="0" cellspacing="5" width="100%">
<tbody><tr valign="top">
<td id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberPhotoTable" style="width: 155px;" valign="top">
	<b><a id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberProfileLink" href="http://www.codeproject.com/Members/Marc-Clifton">Marc Clifton</a></b><br><br>
	<center><img id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberPhoto" src="vgclock.aspx_files/CCCA6270-7875-4937-96C2-0CF123E2F30F.jpg" style="border-width: 0px;"></center><br>
	<span id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberType" class="SmallText">Member</span>		
</td>

<td>
	Marc is the creator of two open source projets, <a href="http://www.myxaml.com/">MyXaml</a>, a declarative (XML) instantiation engine and <a href="http://www.marcclifton.com/Projects/AdvancedUnitTesting/tabid/102/Default.aspx"> the Advanced Unit Testing framework</a>, and <a href="http://www.interacx.com/">Interacx</a>, a commercial n-tier RAD application suite.&nbsp; Visit his website, <a href="http://www.marcclifton.com/">www.marcclifton.com</a>, where you will find many of his articles.  <br><br>Marc lives in Hudson, NY with  his son Ian, who attends the <a href="http://www.hawthornevalleyschool.org/">Hawthorne Valley School</a>.  To contact Marc, email him at <a href="mailto:marc.clifton@gmail.com">marc.clifton@gmail.com</a>.<br>	

	<table>
	<tbody><tr id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_jobTitleRow">
	<td class="SmallText" nowrap="nowrap">Occupation: </td>
	<td width="100%"><span id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberJobTitle" class="SmallText">Architect</span></td>
</tr>


	<tr id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_companyRow">
	<td class="SmallText">Company: </td>
	<td width="100%"><span id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberCompany" class="SmallText">Interacx</span></td>
</tr>


	<tr id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_locationRow">
	<td class="SmallText">Location: </td>
	<td width="100%"><span id="ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberLocation" class="SmallText"><img src="vgclock.aspx_files/US.gif" alt="United States" width="16px" height="11px"> United States</span></td>
</tr>

	</tbody></table>
	</td>
	</tr>
	</tbody></table>


			<br>
		
	
	<table border="0" cellpadding="0" cellspacing="0" width="100%">	
	<tbody><tr valign="top">			
		<td style="width: 100%;">
			<h2>Other popular .NET Framework articles:</h2><ul><li><a href="http://www.codeproject.com/KB/dotnet/regextutorial.aspx">The 30 Minute Regex Tutorial</a><div class="SmallText">Learn how to use regular expressions in 30 minutes with Expresso.</div></li><li><a href="http://www.codeproject.com/KB/dotnet/strings.aspx">Strings UNDOCUMENTED</a><div class="SmallText">Detailed looked at the implementation of strings in .NET</div></li><li><a href="http://www.codeproject.com/KB/dotnet/expresso.aspx">Expresso - A Tool for Building and Testing Regular Expressions</a><div class="SmallText">For learning, building, and debugging .NET Framework regular expressions</div></li><li><a href="http://www.codeproject.com/KB/dotnet/mysteriesofconfiguration.aspx">Unraveling the Mysteries of .NET 2.0 Configuration</a><div class="SmallText">Learn how to utilize the powerful new .NET 2.0 configuration features to simplify and centralize your configuration code.</div></li><li><a href="http://www.codeproject.com/KB/dotnet/simplewindowsservice.aspx">Simple Windows Service Sample</a><div class="SmallText">A simple application to show how to create a Windows service.</div></li></ul>
		</td>
		<td>
			
			<script type="text/javascript">document.write(unescape("%3ca%20href%3d%22http%3a%2f%2fwww.codeproject.com%2fRedir.aspx%3fadid%3d11804%26way%3dban%22%20target%3d%22_blank%22%20rel%3d%22nofollow%22%3e%3cimg%20src%3d%22%2fscript%2fAdServe%2fServeImg.aspx%3fFile%3dDevConnections_300x250_ScottASPVS_08102009050031.gif%26C%3dFalse%26adid%3d11804%26obid%3d6733%26obtid%3d2%22%20alt%3d%22%22%20border%3d%220%22%20width%3d%22300px%22%20height%3d%22250px%22%3e%3c%2fa%3e"));</script><a href="http://www.codeproject.com/Redir.aspx?adid=11804&amp;way=ban" target="_blank" rel="nofollow"><img src="vgclock.aspx_files/ServeImg_002.htm" alt="" border="0" width="300px" height="250px"></a>						 
		</td>
	</tr>
	</tbody></table>

	<table id="ctl00_RateArticleRow" class="RatingBar" border="0" cellpadding="0" cellspacing="0" width="100%">
	<tbody><tr>
		<td><a href="#_top">Article Top</a></td>
		<td align="right"><div id="ctl00_RateArticle_RateItemWrapper" style="" name="RateItem_6733" class="">

<table cellpadding="0" cellspacing="0" width="100%">
<tbody><tr>
	<td id="ctl00_RateArticle_VoteResultDiv" align="right" width="100%" nowrap="nowrap">
		<span class="voteRes"></span>
		<img class="loaderImg" alt="loading..." src="vgclock.aspx_files/ajax-loader.gif" style="display: none;" width="16px" height="16px"> 
	</td>
		
	
	<td class="voteTbl" style="white-space: nowrap;" align="right">
		<table class="">
		<tbody><tr valign="middle">
			
			<td id="ctl00_RateArticle_RateText" style="padding-right: 5px; white-space: nowrap;">
				<i><b>Rate this article for us!</b></i>
			</td>
		
			<td id="ctl00_RateArticle_StartForm" align="right">
				<i>&nbsp;&nbsp;Poor</i>
			</td>
		
			<td id="ctl00_RateArticle_VoteFormDiv" style="white-space: nowrap;" align="left">
				<table id="ctl00_RateArticle_VoteRBL" border="0">
			<tbody><tr>
				<td><input id="ctl00_RateArticle_VoteRBL_0" name="ctl00$RateArticle$VoteRBL" value="1" onclick="ChkRtctl00_RateArticle(1, 6733);" type="radio"></td><td><input id="ctl00_RateArticle_VoteRBL_1" name="ctl00$RateArticle$VoteRBL" value="2" onclick="ChkRtctl00_RateArticle(2, 6733);" type="radio"></td><td><input id="ctl00_RateArticle_VoteRBL_2" name="ctl00$RateArticle$VoteRBL" value="3" onclick="ChkRtctl00_RateArticle(3, 6733);" type="radio"></td><td><input id="ctl00_RateArticle_VoteRBL_3" name="ctl00$RateArticle$VoteRBL" value="4" onclick="ChkRtctl00_RateArticle(4, 6733);" type="radio"></td><td><input id="ctl00_RateArticle_VoteRBL_4" name="ctl00$RateArticle$VoteRBL" value="5" onclick="ChkRtctl00_RateArticle(5, 6733);" type="radio"></td>
			</tr>
		</tbody></table> 
			</td>
		
			<td id="ctl00_RateArticle_EndForm" align="left">
				<i>Excellent</i>
			</td>
		
			<td id="ctl00_RateArticle_VoteBtn">	
				<input name="ctl00$RateArticle$SubmitRateBtn" value="Vote" onclick="return rateItem(6733,2,true,true);" id="ctl00_RateArticle_SubmitRateBtn" class="FormButton" type="submit">
			</td>
		
			<td><span id="ctl00_RateArticle_ErrorMessage"></span></td>
		</tr>
		</tbody></table>
	</td>
</tr>
</tbody></table>

<div class="RateComDiv" id="RCD" style="display: none;">
	<table width="100%"><tbody><tr valign="top"><td align="right" width="100%">Your reason for this vote:</td>
	<td><textarea class="RateComment" rows="5" cols="60" style="width: 285px; float: right;"></textarea>
	</td></tr></tbody></table>
</div>

</div>
</td>
	</tr>
</tbody></table>

	</form>
	
	<div style="padding: 10px; overflow: hidden; margin-left: 40px; white-space: nowrap;">
		
		
			  
		<script type="text/javascript">document.write(unescape("%3ca%20href%3d%22http%3a%2f%2fwww.codeproject.com%2fRedir.aspx%3fadid%3d7451%26way%3dban%22%20target%3d%22_blank%22%20rel%3d%22nofollow%22%3e%3cimg%20src%3d%22%2fscript%2fAdServe%2fServeImg.aspx%3fFile%3dappdev_cp.vs08.46860.gif%26C%3dFalse%26adid%3d7451%26obid%3d6733%26obtid%3d2%22%20alt%3d%22%22%20border%3d%220%22%20width%3d%22468px%22%20height%3d%2260px%22%3e%3c%2fa%3e"));</script><a href="http://www.codeproject.com/Redir.aspx?adid=7451&amp;way=ban" target="_blank" rel="nofollow"><img src="vgclock.aspx_files/ServeImg_004.htm" alt="" border="0" width="468px" height="60px"></a>
		<div id="ctl00_TxtLinks_Txt" style="width: 300px; height: 60px;"><ul class="InfoList float-right"><li><a href="http://www.appdev.com/promo/WR00156">Free Visual Studio Training from AppDev</a></li><li><a href="http://www.appdev.com/promo/WR00162">Free Developer Training from AppDev</a></li><li><a href="http://www.appdev.com/promo/WR00157">Free Sharepoint Training from AppDev</a></li></ul></div>
	</div>

	<a name="_comments"></a><!-- Forum Start -->
<div id="_MessageBoard" onclick="return SwitchMessage(event, null)">
	<table id="ForumTable" class="Frm_MainTable" cellpadding="0" cellspacing="0">
		<tbody><tr>
			<td><table border="0" cellpadding="3px" cellspacing="0" width="100%">
				<tbody><tr class="Frm_HeaderRow1">
					<td style="white-space: nowrap;"><img src="vgclock.aspx_files/forum_faq.gif" alt="FAQ" align="middle" border="0" width="16px" height="16px">&nbsp;<a href="http://www.codeproject.com/script/Forums/FAQ.aspx"><b>FAQ</b></a>&nbsp;</td><td style="white-space: nowrap; text-align: right;"><form action="/script/Forums/Search.aspx?fid=0" method="get" style="margin: 0pt; padding: 0pt;">
						<input name="fid" value="38162" type="hidden"><input class="Frm_Input" name="kw" type="text">&nbsp;<input value="Search" name="FrmSrch" class="Frm_Button" type="submit">
					</form></td><td style="text-align: right;"></td>
				</tr><tr class="Frm_HeaderRow2">
					<td colspan="2" style="width: 100%;"><div style="text-align: right;">
						<form action="/script/Forums/SetOptions.aspx?floc=%2fKB%2fdotnet%2fvgclock.aspx&amp;fid=38162" method="get" style="margin: 0pt; padding: 0pt;">
							<input name="fid" value="38162" type="hidden"><input name="currentQS" value="?floc=%2fKB%2fdotnet%2fvgclock.aspx&amp;fid=38162" type="hidden"><input name="floc" value="/KB/dotnet/vgclock.aspx" type="hidden">Noise Tolerance<select size="1" class="Frm_DropDown" name="noise">
								<option value="1">Very High</option><option value="2">High</option><option selected="selected" value="3">Medium</option><option value="4">Low</option><option value="5">Very Low</option>
							</select>&nbsp;&nbsp;Layout<select size="1" class="Frm_DropDown" name="view">
								<option selected="selected" value="Quick">Normal</option><option value="Topic">Expand Posts only</option><option value="Expanded">Expand Posts &amp; Replies</option><option value="Thread">Thread View</option><option value="Normal">No Javascript</option><option value="Preview">No JS + Preview</option>
							</select>&nbsp;&nbsp;Per page<select size="1" class="Frm_DropDown" name="mpp">
								<option value="10">10</option><option selected="selected" value="25">25</option><option value="50">50</option>
							</select>&nbsp;&nbsp;&nbsp;<input value="Update" name="SetOpt" class="Frm_Button" type="submit">
						</form>
					</div></td>
				</tr>
			</tbody></table></td>
		</tr><tr>
			<td><a name="xx0xx"></a><table border="0" cellpadding="2px" cellspacing="0" width="100%">
				<tbody><tr class="Frm_NavigationBar">
					<td><img src="vgclock.aspx_files/forum_newmsg.gif" alt="new" align="top" border="0" width="16px" height="16px"><a href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;floc=/KB/dotnet/vgclock.aspx" class="Frm_HL" name="Frm_HoverNL" title="Create a new message thread" target="_top"><b>New Message</b></a></td><td>Msgs 1 to 25 of 32 (Total in Forum: 32) (<a href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162">Refresh</a>)</td><td style="text-align: right; white-space: nowrap;"><span class="Frm_HL">First</span><span class="Frm_HL">Prev</span><a class="Frm_HL" name="Frm_HoverNL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;fr=26#xx0xx">Next</a></td>
				</tr>
			</tbody></table></td>
		</tr><tr>
			<td><table class="Frm_MsgTable" border="0" cellpadding="0" cellspacing="0" width="100%">
				<tbody><tr>
					<td><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="5px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd LoVote Rt HdUnSel " id="F1319690_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="16px"><a name="xx1319690xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="1319690" href="http://www.codeproject.com/Messages/1319690/Help-needed-with-the-loader.aspx">Help needed with the loader</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=2560176">nicholascaporusso</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">7:02 29 Dec '05 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F1319690_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 16px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="16px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2">I'm
trying to code a single file loader, but when I try to load a filename
(e.g. matrix.myxaml) the compiler raises up an error (Unable to load
XML file).<br>Please, can you post the loader sources too?<br><br>Thanks,<br>Nicholas <br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=1319690&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=1319690&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=1319690" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/1319690/Help-needed-with-the-loader.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=1319690&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF1319690" style="white-space: nowrap;">2.00/5 (1 vote) <script type="text/javascript">
												MsgVFrm(2560176,1319690,false,"","","");
											</script>Rate this message: <a href="#xx1319690xx" onclick="RateMsg(2560176, 1319690,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx1319690xx" title="vote this message a 1" onclick="RateMsg(2560176, 1319690, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx1319690xx" title="vote this message a 2" onclick="RateMsg(2560176, 1319690, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx1319690xx" title="vote this message a 3" onclick="RateMsg(2560176, 1319690, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx1319690xx" title="vote this message a 4" onclick="RateMsg(2560176, 1319690, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx1319690xx" title="vote this message a 5" onclick="RateMsg(2560176, 1319690, 5,0)"><b>5</b></a> <a href="#xx1319690xx" onclick="RateMsg(2560176, 1319690,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx1319690xx" title="Report as Abuse" onclick="return ReportMsg(2560176
, 1319690,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgRtDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd Rt HdUnSel " id="F833447_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="16px"><a name="xx833447xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="833447" href="http://www.codeproject.com/Messages/833447/VG-net-Officially-Released.aspx">VG.net Officially Released</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=117364">Frank Hileman</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">6:56 26 May '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F833447_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 16px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="16px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2">As
of May 21, VG.net is officially released. Performance has been further
improved, the MyXaml output has been further simplified, and a number
of new features, including an Image class, have been added.<br><br>Check it out at the link below.<img src="vgclock.aspx_files/smiley_cool.gif" alt="Cool" align="top"> <br><br>check out VG.net: <a href="http://www.vgdotnet.com/">www.vgdotnet.com</a><br>An animated vector graphics system integrated in VS.net<br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=833447&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=833447&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=833447" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/833447/VG-net-Officially-Released.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=833447&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF833447" style="white-space: nowrap;"><script type="text/javascript">
												MsgVFrm(117364,833447,false,"","","");
											</script>Rate this message: <a href="#xx833447xx" onclick="RateMsg(117364, 833447,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx833447xx" title="vote this message a 1" onclick="RateMsg(117364, 833447, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx833447xx" title="vote this message a 2" onclick="RateMsg(117364, 833447, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx833447xx" title="vote this message a 3" onclick="RateMsg(117364, 833447, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx833447xx" title="vote this message a 4" onclick="RateMsg(117364, 833447, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx833447xx" title="vote this message a 5" onclick="RateMsg(117364, 833447, 5,0)"><b>5</b></a> <a href="#xx833447xx" onclick="RateMsg(117364, 833447,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx833447xx" title="Report as Abuse" onclick="return ReportMsg(117364
, 833447,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgRtDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd Rt HdUnSel " id="F825693_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="16px"><a name="xx825693xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="825693" href="http://www.codeproject.com/Messages/825693/a-pretty-Looks-clock.aspx">a pretty Look's clock</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=40219">zanoon</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">11:05 18 May '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F825693_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 16px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="16px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2">It's so good article. well done<br>but is that approach (XAML) practical for complicated graphics interface time to load , memory , speed ? <br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=825693&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=825693&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=825693" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/825693/a-pretty-Looks-clock.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=825693&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF825693" style="white-space: nowrap;"><script type="text/javascript">
												MsgVFrm(40219,825693,false,"","","");
											</script>Rate this message: <a href="#xx825693xx" onclick="RateMsg(40219, 825693,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx825693xx" title="vote this message a 1" onclick="RateMsg(40219, 825693, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx825693xx" title="vote this message a 2" onclick="RateMsg(40219, 825693, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx825693xx" title="vote this message a 3" onclick="RateMsg(40219, 825693, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx825693xx" title="vote this message a 4" onclick="RateMsg(40219, 825693, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx825693xx" title="vote this message a 5" onclick="RateMsg(40219, 825693, 5,0)"><b>5</b></a> <a href="#xx825693xx" onclick="RateMsg(40219, 825693,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx825693xx" title="Report as Abuse" onclick="return ReportMsg(40219
, 825693,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd HdUnSel " id="F825734_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="34px"><a name="xx825734xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="825734" href="http://www.codeproject.com/Messages/825734/Re-a-pretty-Looks-clock.aspx">Re: a pretty Look's clock</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/supporter_sm.gif" title="supporter" alt="supporter" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=36803">Marc Clifton</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">11:28 18 May '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F825734_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 34px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="34px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2"><small><b>zanoon wrote:</b></small><br><i>but is that approach (XAML) practical for complicated graphics interface time to load , memory , speed ? </i><br><br>This
is definitely a good point. I imagine that it wouldn't be, without at
least converting the markup to a binary format for faster parsing. As
the VG.NET designer already generates C# code, performance concerns can
be addressed that way.<br><br>Marc <br><br>Microsoft MVP, Visual C#<br><a href="http://www.myxaml.com/">MyXaml</a><br><a href="http://www.myxaml.com/marcclifton/">MyXaml Blog</a><br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=825734&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=825734&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=825693" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/825734/Re-a-pretty-Looks-clock.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=825734&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF825734" style="white-space: nowrap;"><script type="text/javascript">
												MsgVFrm(36803,825734,false,"","","");
											</script>Rate this message: <a href="#xx825734xx" onclick="RateMsg(36803, 825734,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx825734xx" title="vote this message a 1" onclick="RateMsg(36803, 825734, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx825734xx" title="vote this message a 2" onclick="RateMsg(36803, 825734, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx825734xx" title="vote this message a 3" onclick="RateMsg(36803, 825734, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx825734xx" title="vote this message a 4" onclick="RateMsg(36803, 825734, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx825734xx" title="vote this message a 5" onclick="RateMsg(36803, 825734, 5,0)"><b>5</b></a> <a href="#xx825734xx" onclick="RateMsg(36803, 825734,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx825734xx" title="Report as Abuse" onclick="return ReportMsg(36803
, 825734,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd HdUnSel " id="F833442_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="34px"><a name="xx833442xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="833442" href="http://www.codeproject.com/Messages/833442/Re-a-pretty-Looks-clock.aspx">Re: a pretty Look's clock</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=117364">Frank Hileman</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">6:54 26 May '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F833442_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 34px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="34px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2">In
the VG.net designer installation (check it out, the Lite version is
free) you will find the same animated vector graphics clock, that does
not use MyXaml. It can be completely compiled, and does not use any xml
parser or reflection at run-time.<br><br>Since MyXaml compiles code,
the MyXaml animation is just as fast as any other compiled code at
run-time. The only bottleneck is the load time. Here the problem is not
the xml, but the use of reflection. And, yes, the use of xml and
reflection will increase memory usage, though I don't know if that is
significant.<br><br>The VG.net designer generates C# or VB.net code in
the same way the Windows Forms designer generates code. MyXaml is an
alternative format, for people who wish to work in xml. It is also a
great format for looking at the structure of a VG.net Picture -- much
more readable than the generated code, as Marc has pointed out.<br><br>The VG.net graphics engine itself is the fastest GDI+ retained mode graphics system available, as far as we can tell.<img src="vgclock.aspx_files/smiley_smile.gif" alt="Smile" align="top"><br><br>- Frank Hileman <br><br>check out VG.net: <a href="http://www.vgdotnet.com/">www.vgdotnet.com</a><br>An animated vector graphics system integrated in VS.net<br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=833442&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=833442&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=825693" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/833442/Re-a-pretty-Looks-clock.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=833442&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF833442" style="white-space: nowrap;"><script type="text/javascript">
												MsgVFrm(117364,833442,false,"","","");
											</script>Rate this message: <a href="#xx833442xx" onclick="RateMsg(117364, 833442,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx833442xx" title="vote this message a 1" onclick="RateMsg(117364, 833442, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx833442xx" title="vote this message a 2" onclick="RateMsg(117364, 833442, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx833442xx" title="vote this message a 3" onclick="RateMsg(117364, 833442, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx833442xx" title="vote this message a 4" onclick="RateMsg(117364, 833442, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx833442xx" title="vote this message a 5" onclick="RateMsg(117364, 833442, 5,0)"><b>5</b></a> <a href="#xx833442xx" onclick="RateMsg(117364, 833442,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx833442xx" title="Report as Abuse" onclick="return ReportMsg(117364
, 833442,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgRtDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd Rt HdUnSel " id="F814481_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="16px"><a name="xx814481xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="814481" href="http://www.codeproject.com/Messages/814481/cool-but-how-compatible-is-this.aspx">cool but how compatible is this?</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=75761">Roger J</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">5:43 7 May '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F814481_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 16px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="16px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2">this sure looks cool  but how 'compatible' is it with real avalon xaml?<br>is this just something that you threw together yourself claiming that this is 'xaml' because it has a similair layout of the xml<br><br>or
is it very compatible with the avalon-xaml so that i might be able to
take a myxaml sample and just change a few attribs and tags here and
there?<br><br>//Roger <br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=814481&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=814481&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=814481" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/814481/cool-but-how-compatible-is-this.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=814481&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF814481" style="white-space: nowrap;"><script type="text/javascript">
												MsgVFrm(75761,814481,false,"","","");
											</script>Rate this message: <a href="#xx814481xx" onclick="RateMsg(75761, 814481,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx814481xx" title="vote this message a 1" onclick="RateMsg(75761, 814481, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx814481xx" title="vote this message a 2" onclick="RateMsg(75761, 814481, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx814481xx" title="vote this message a 3" onclick="RateMsg(75761, 814481, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx814481xx" title="vote this message a 4" onclick="RateMsg(75761, 814481, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx814481xx" title="vote this message a 5" onclick="RateMsg(75761, 814481, 5,0)"><b>5</b></a> <a href="#xx814481xx" onclick="RateMsg(75761, 814481,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx814481xx" title="Report as Abuse" onclick="return ReportMsg(75761
, 814481,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd HdUnSel " id="F814527_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="34px"><a name="xx814527xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="814527" href="http://www.codeproject.com/Messages/814527/Re-cool-but-how-compatible-is-this.aspx">Re: cool but how compatible is this?</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/editor_sm.gif" title="editor" alt="editor" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=36803">Marc Clifton</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">6:12 7 May '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F814527_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 34px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="34px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2"><small><b>Roger J wrote:</b></small><br><i>this sure looks cool but how 'compatible' is it with real avalon xaml?</i><br><br>There
is no such thing as "real avalon xaml", as the Longhorn bloggers have
themselves admitted--it is still in the early development stages and
there are no guarantees that what you see now will be the final form.<br><br>That
said, probably most of what you see now regarding Avalon XAML is pretty
much set in stone. But I'm not interested in compatibility. I'm
interested in doing it right. I have some posts in my blog regarding
that issue.<br><br><small><b>Roger J wrote:</b></small><br><i>is this just something that you threw together yourself claiming that this is 'xaml' because it has a similair layout of the xml</i><br><br>Yes,
I wrote it myself, but I don't think I "threw it together". It's been
the result of a lot of hard work and many, many hours. <br><br>I never
claim that MyXaml is Avalon XAML. However, I do claim that MyXaml is
XAML, just like Avalon-XAML is XAML. It's a generic term. If we apply
the generic term to mean Microsoft's specific implementation, then
that's a bad thing, IMO.<br><br>It's like SQL.  There are many different flavors of SQL.  They're all basically the same, but there are differences as well.<br><br><small><b>Roger J wrote:</b></small><br><i>or
is it very compatible with the avalon-xaml so that i might be able to
take a myxaml sample and just change a few attribs and tags here and
there?</i><br><br>Depends. Regarding the VG, very different. Keep in
mind that MyXaml works with the .NET 1.1. Avalon-XAML works with the
Avalon namespace. When Avalon comes out, yes, MyXaml should be able to
work with the classes in the Avalon namespace as well.<br><br>But, here
we get to the crux of the matter. Microsoft is implementing tags and
attributes that are not mirrored directly in class names and their
properties. Microsoft is implementing custom parsing to handle specific
markup syntax. With MyXaml, all of the tags are implemented with
classes, either supplied by .NET itself, or implemented as extensions
in the MyXaml namespace. The difference is tremendous, IMO, while
others will argue that it's just an implementation difference. With
MyXaml, custom parsing is limited as much as possible. Sure, the
Include tag and Style tag/property simply can't be handled any
differently, and TypeConverters are used to manage a lot of data
translations, but the point is, the core parser is very generalized,
and the custom parsing is relegated to other classes. It's an
incredibly extensible model. I haven't seen Microsoft's implementation,
but I personally don't think it's written with the same goals in mind.<br><br>Marc <br><br>Microsoft MVP, Visual C#<br><a href="http://www.myxaml.com/">MyXaml</a><br><a href="http://www.myxaml.com/marcclifton/">MyXaml Blog</a><br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=814527&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=814527&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=814481" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/814527/Re-cool-but-how-compatible-is-this.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=814527&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF814527" style="white-space: nowrap;"><script type="text/javascript">
												MsgVFrm(36803,814527,false,"","","");
											</script>Rate this message: <a href="#xx814527xx" onclick="RateMsg(36803, 814527,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx814527xx" title="vote this message a 1" onclick="RateMsg(36803, 814527, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx814527xx" title="vote this message a 2" onclick="RateMsg(36803, 814527, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx814527xx" title="vote this message a 3" onclick="RateMsg(36803, 814527, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx814527xx" title="vote this message a 4" onclick="RateMsg(36803, 814527, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx814527xx" title="vote this message a 5" onclick="RateMsg(36803, 814527, 5,0)"><b>5</b></a> <a href="#xx814527xx" onclick="RateMsg(36803, 814527,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx814527xx" title="Report as Abuse" onclick="return ReportMsg(36803
, 814527,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd HdUnSel " id="F815161_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="34px"><a name="xx815161xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="815161" href="http://www.codeproject.com/Messages/815161/Re-cool-but-how-compatible-is-this.aspx">Re: cool but how compatible is this?</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=117364">Frank Hileman</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">16:02 7 May '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F815161_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 34px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="34px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2">Some more comments, in addition to Marc's:<br><br>-
VG.net is not an implementation of Avalon vector graphics. It is
designed to make GDI+ easy to use and fast. VG.net has a better object
model, and is easier to use, than Avalon, imho. Plus it has a designer!<img src="vgclock.aspx_files/smiley_smile.gif" alt="Smile" align="top"><br><br>-
MyXaml is flat out better than xaml, because it is not Avalon specific.
That is, if you have a non-Avalon object model serialized to xaml, it
looks like crap, mainly because you have to use compound property tags
for every property. MyXaml is generic, making every object model look
good in MyXaml.<br><br>- VG.net will run fine on Longhorn, and we may
produce a version for longhorn that renders using the lower-level
hardware accelerated API. It depends on the popularity of VG.net and
the demand for that feature. There is no hurry, since Longhorn is
unlikely to be out before 2007.<br><br>The main difference between
VG.net and Avalon graphics is the layout -- VG.net has no flow layout.
Everything is specified in absolute world coordinates. <br><br>check out VG.net: <a href="http://www.vgdotnet.com/">www.vgdotnet.com</a><br>An animated vector graphics system integrated in VS.net<br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=815161&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=815161&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=814481" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/815161/Re-cool-but-how-compatible-is-this.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=815161&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF815161" style="white-space: nowrap;"><script type="text/javascript">
												MsgVFrm(117364,815161,false,"","","");
											</script>Rate this message: <a href="#xx815161xx" onclick="RateMsg(117364, 815161,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx815161xx" title="vote this message a 1" onclick="RateMsg(117364, 815161, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx815161xx" title="vote this message a 2" onclick="RateMsg(117364, 815161, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx815161xx" title="vote this message a 3" onclick="RateMsg(117364, 815161, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx815161xx" title="vote this message a 4" onclick="RateMsg(117364, 815161, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx815161xx" title="vote this message a 5" onclick="RateMsg(117364, 815161, 5,0)"><b>5</b></a> <a href="#xx815161xx" onclick="RateMsg(117364, 815161,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx815161xx" title="Report as Abuse" onclick="return ReportMsg(117364
, 815161,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgRtDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd Rt HdUnSel " id="F814449_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="16px"><a name="xx814449xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="814449" href="http://www.codeproject.com/Messages/814449/More-examples-please.aspx">More examples, please</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=75166">huuhaa</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">5:09 7 May '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F814449_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 16px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="16px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2">MyXaml sounds interesting. VG.net is great.<br><br>Please give us more examples how to<br>- jump from one form to another, via MyXaml (single form mode)<br>- transfer parameters from one form to another<br>- examples like Petzold RGBform<br>- wakeup form inside browser<br><br>regards Harri <img src="vgclock.aspx_files/smiley_smile.gif" alt="Smile" align="top"> <br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=814449&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=814449&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=814449" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/814449/More-examples-please.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=814449&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF814449" style="white-space: nowrap;"><script type="text/javascript">
												MsgVFrm(75166,814449,false,"","","");
											</script>Rate this message: <a href="#xx814449xx" onclick="RateMsg(75166, 814449,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx814449xx" title="vote this message a 1" onclick="RateMsg(75166, 814449, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx814449xx" title="vote this message a 2" onclick="RateMsg(75166, 814449, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx814449xx" title="vote this message a 3" onclick="RateMsg(75166, 814449, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx814449xx" title="vote this message a 4" onclick="RateMsg(75166, 814449, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx814449xx" title="vote this message a 5" onclick="RateMsg(75166, 814449, 5,0)"><b>5</b></a> <a href="#xx814449xx" onclick="RateMsg(75166, 814449,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx814449xx" title="Report as Abuse" onclick="return ReportMsg(75166
, 814449,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd HdUnSel " id="F814531_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="34px"><a name="xx814531xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="814531" href="http://www.codeproject.com/Messages/814531/Re-More-examples-please.aspx">Re: More examples, please</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/editor_sm.gif" title="editor" alt="editor" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=36803">Marc Clifton</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">6:13 7 May '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F814531_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 34px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="34px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2"><small><b>huuhaa wrote:</b></small><br><i>Please give us more examples how to<br>- jump from one form to another, via MyXaml (single form mode)<br>- transfer parameters from one form to another<br>- examples like Petzold RGBform<br>- wakeup form inside browser</i><br><br>Great list.  I'll be working at this.  Subscribe to my blog, as I'll most likely post these examples on the blog.<br><br>Thanks!<br><br>Marc <br><br>Microsoft MVP, Visual C#<br><a href="http://www.myxaml.com/">MyXaml</a><br><a href="http://www.myxaml.com/marcclifton/">MyXaml Blog</a><br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=814531&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=814531&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=814449" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/814531/Re-More-examples-please.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=814531&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF814531" style="white-space: nowrap;"><script type="text/javascript">
												MsgVFrm(36803,814531,false,"","","");
											</script>Rate this message: <a href="#xx814531xx" onclick="RateMsg(36803, 814531,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx814531xx" title="vote this message a 1" onclick="RateMsg(36803, 814531, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx814531xx" title="vote this message a 2" onclick="RateMsg(36803, 814531, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx814531xx" title="vote this message a 3" onclick="RateMsg(36803, 814531, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx814531xx" title="vote this message a 4" onclick="RateMsg(36803, 814531, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx814531xx" title="vote this message a 5" onclick="RateMsg(36803, 814531, 5,0)"><b>5</b></a> <a href="#xx814531xx" onclick="RateMsg(36803, 814531,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx814531xx" title="Report as Abuse" onclick="return ReportMsg(36803
, 814531,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgRtDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd Rt HdUnSel " id="F810107_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="16px"><a name="xx810107xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="810107" href="http://www.codeproject.com/Messages/810107/Fine.aspx">Fine</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/usersuss.gif" alt="suss" width="14px" height="15px"></td><td class="Frm_MsgAuthor">Anonymous</td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">8:25 3 May '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F810107_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 16px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="16px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2">Fine<img src="vgclock.aspx_files/smiley_smile.gif" alt="Smile" align="top"> <br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=810107&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=810107" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/810107/Fine.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=810107&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a> | <a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=810107&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=m">Edit</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=810107&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=d">Delete</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF810107" style="white-space: nowrap;"><script type="text/javascript">
												MsgVFrm(0,810107,false,"","","");
											</script>Rate this message: <a href="#xx810107xx" onclick="RateMsg(0, 810107,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx810107xx" title="vote this message a 1" onclick="RateMsg(0, 810107, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx810107xx" title="vote this message a 2" onclick="RateMsg(0, 810107, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx810107xx" title="vote this message a 3" onclick="RateMsg(0, 810107, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx810107xx" title="vote this message a 4" onclick="RateMsg(0, 810107, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx810107xx" title="vote this message a 5" onclick="RateMsg(0, 810107, 5,0)"><b>5</b></a> <a href="#xx810107xx" onclick="RateMsg(0, 810107,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx810107xx" title="Report as Abuse" onclick="return ReportMsg(0
, 810107,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgRtDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd Rt HdUnSel " id="F808736_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="16px"><a name="xx808736xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="808736" href="http://www.codeproject.com/Messages/808736/Wow.aspx">Wow!</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=1042590">henson</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">15:29 1 May '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F808736_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 16px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="16px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2">It's looks like to new way in application development! <br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=808736&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=808736&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=808736" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/808736/Wow.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=808736&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF808736" style="white-space: nowrap;"><script type="text/javascript">
												MsgVFrm(1042590,808736,false,"","","");
											</script>Rate this message: <a href="#xx808736xx" onclick="RateMsg(1042590, 808736,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx808736xx" title="vote this message a 1" onclick="RateMsg(1042590, 808736, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx808736xx" title="vote this message a 2" onclick="RateMsg(1042590, 808736, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx808736xx" title="vote this message a 3" onclick="RateMsg(1042590, 808736, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx808736xx" title="vote this message a 4" onclick="RateMsg(1042590, 808736, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx808736xx" title="vote this message a 5" onclick="RateMsg(1042590, 808736, 5,0)"><b>5</b></a> <a href="#xx808736xx" onclick="RateMsg(1042590, 808736,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx808736xx" title="Report as Abuse" onclick="return ReportMsg(1042590
, 808736,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd HdUnSel " id="F809356_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="34px"><a name="xx809356xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="809356" href="http://www.codeproject.com/Messages/809356/Re-Wow.aspx">Re: Wow!</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/editor_sm.gif" title="editor" alt="editor" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=36803">Marc Clifton</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">11:32 2 May '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F809356_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 34px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="34px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2"><small><b>henson wrote:</b></small><br><i>It's looks like to new way in application development! </i><br><br>Actually, that's what I'm working toward.  If you're curious, a high-level vision is <a href="http://www.myxaml.com/images/vision.jpg">here</a>[<a target="_blank" title="New Window" href="http://www.myxaml.com/images/vision.jpg">^</a>].<br><br>Marc <br><br>Microsoft MVP, Visual C#<br><a href="http://www.myxaml.com/">MyXaml</a><br><a href="http://www.myxaml.com/marcclifton/">MyXaml Blog</a><br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=809356&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=809356&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=808736" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/809356/Re-Wow.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=809356&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF809356" style="white-space: nowrap;"><script type="text/javascript">
												MsgVFrm(36803,809356,false,"","","");
											</script>Rate this message: <a href="#xx809356xx" onclick="RateMsg(36803, 809356,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx809356xx" title="vote this message a 1" onclick="RateMsg(36803, 809356, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx809356xx" title="vote this message a 2" onclick="RateMsg(36803, 809356, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx809356xx" title="vote this message a 3" onclick="RateMsg(36803, 809356, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx809356xx" title="vote this message a 4" onclick="RateMsg(36803, 809356, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx809356xx" title="vote this message a 5" onclick="RateMsg(36803, 809356, 5,0)"><b>5</b></a> <a href="#xx809356xx" onclick="RateMsg(36803, 809356,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx809356xx" title="Report as Abuse" onclick="return ReportMsg(36803
, 809356,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgRtDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd Rt HdUnSel " id="F798958_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="16px"><a name="xx798958xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="798958" href="http://www.codeproject.com/Messages/798958/You-and-MyXaml.aspx">You and MyXaml...</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/editor_sm.gif" title="editor" alt="editor" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=46969">Heath Stewart</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">15:32 21 Apr '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F798958_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 16px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="16px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2">What can't you/it do? <img src="vgclock.aspx_files/smiley_smile.gif" alt="Smile" align="top"><br><br>Very
nice work, Marc. With projects like this, it's good to know that any
applications developed specifically in Xaml won't be lost on current
Windows platforms (pre-Longhorn), so long as you and they (MS) remain
(mostly) compatible. <br><br><div style="width: 100%; font-size: 2px; margin-bottom: -10px; background-color: rgb(255, 153, 0);">&nbsp;</div><br>Microsoft MVP, Visual C#<br><a href="http://www.codeproject.com/script/articles/list_articles.asp?userid=46969">My Articles</a><br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=798958&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=798958&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=798958" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/798958/You-and-MyXaml.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=798958&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF798958" style="white-space: nowrap;"><script type="text/javascript">
												MsgVFrm(46969,798958,false,"","","");
											</script>Rate this message: <a href="#xx798958xx" onclick="RateMsg(46969, 798958,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx798958xx" title="vote this message a 1" onclick="RateMsg(46969, 798958, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx798958xx" title="vote this message a 2" onclick="RateMsg(46969, 798958, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx798958xx" title="vote this message a 3" onclick="RateMsg(46969, 798958, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx798958xx" title="vote this message a 4" onclick="RateMsg(46969, 798958, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx798958xx" title="vote this message a 5" onclick="RateMsg(46969, 798958, 5,0)"><b>5</b></a> <a href="#xx798958xx" onclick="RateMsg(46969, 798958,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx798958xx" title="Report as Abuse" onclick="return ReportMsg(46969
, 798958,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd HdUnSel " id="F798964_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="34px"><a name="xx798964xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="798964" href="http://www.codeproject.com/Messages/798964/Re-You-and-MyXaml.aspx">Re: You and MyXaml...</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/editor_sm.gif" title="editor" alt="editor" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=36803">Marc Clifton</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">15:40 21 Apr '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F798964_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 34px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="34px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2"><small><b>Heath Stewart wrote:</b></small><br><i>Very nice work, Marc. </i><br><br>Thanks Heath!<br><br>If you want to see something really bizarre that you can do with MyXaml, check out my latest <a href="http://myxaml.com/marcclifton/archive/2004/04/21/223.aspx">blog entry.</a>[<a target="_blank" title="New Window" href="http://myxaml.com/marcclifton/archive/2004/04/21/223.aspx">^</a>].<br><br>As
to remaining "mostly" compatible with MS's Avalon-XAML, I'm afraid
that's pretty much out of the question. I have some other other blog
entries on some things that MS is (currently) doing with XAML that I
think are, in Pooh words, Not Good. But, I can't expect to change the
world, now can I? <br><br>But the real problem is that the .NET
namespace is so different from what Avalon is coming out with, and the
custom parsers that MS uses to handle their xml markup is so
non-generic, that the separation between MyXaml and Avalon-XAML is
quite distinct.<br><br>It'd be nice if I could garner some support to get MS to change their ways.  <img src="vgclock.aspx_files/smiley_biggrin.gif" alt="Big Grin" align="top"><br><br>Marc <br><br>Microsoft MVP, Visual C#<br><a href="http://www.myxaml.com/">MyXaml</a><br><a href="http://www.myxaml.com/marcclifton/">MyXaml Blog</a><br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=798964&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=798964&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=798958" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/798964/Re-You-and-MyXaml.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=798964&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF798964" style="white-space: nowrap;"><script type="text/javascript">
												MsgVFrm(36803,798964,false,"","","");
											</script>Rate this message: <a href="#xx798964xx" onclick="RateMsg(36803, 798964,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx798964xx" title="vote this message a 1" onclick="RateMsg(36803, 798964, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx798964xx" title="vote this message a 2" onclick="RateMsg(36803, 798964, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx798964xx" title="vote this message a 3" onclick="RateMsg(36803, 798964, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx798964xx" title="vote this message a 4" onclick="RateMsg(36803, 798964, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx798964xx" title="vote this message a 5" onclick="RateMsg(36803, 798964, 5,0)"><b>5</b></a> <a href="#xx798964xx" onclick="RateMsg(36803, 798964,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx798964xx" title="Report as Abuse" onclick="return ReportMsg(36803
, 798964,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd HdUnSel " id="F798970_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="52px"><a name="xx798970xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="798970" href="http://www.codeproject.com/Messages/798970/Re-You-and-MyXaml.aspx">Re: You and MyXaml...</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/editor_sm.gif" title="editor" alt="editor" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=46969">Heath Stewart</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">15:49 21 Apr '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F798970_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 52px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="52px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2"><small><b>Marc Clifton wrote:</b></small><br><i>...and the custom parsers that MS uses to handle their xml markup is so non-generic...</i><br><br>I
haven't looked at much of the XAML stuff lately because I'm just not,
frankly, interested yet. It's still too far off and I have too many
things to worry about with current technology, especially planning our
new product framework to take advantage of Fx 2.0 features and COM
methodologies for maximum modularity and re-use with legacy
applications.<br><br>There's always the option, however, of <i>ildasm.exe</i>.
I realize this would most likely be a lot of work, but I'd expect
(though I may be wrong) that MS still uses quite a bit of the <code>System.Xml</code> members. Obviously you would know far better.<br><br><small><b>Marc Clifton wrote:</b></small><br><i>It'd be nice if I could garner some support to get MS to change their ways.</i><br><br>...or
at least consider your approach - or even you! My biggest fear with
"Longhorn" is that SO MUCH is different that taking advantage of the
many new features is going to force companies and individuals to
fracture their codebases, much more so than for developing applications
that target both Windows and Windows NT while taking advantage of what
they can (I shudder at all the <code>#ifdef</code>'s and <code>LoadLibrary</code> calls!). <br><br><div style="width: 100%; font-size: 2px; margin-bottom: -10px; background-color: rgb(255, 153, 0);">&nbsp;</div><br>Microsoft MVP, Visual C#<br><a href="http://www.codeproject.com/script/articles/list_articles.asp?userid=46969">My Articles</a><br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=798970&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=798970&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=798958" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/798970/Re-You-and-MyXaml.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=798970&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF798970" style="white-space: nowrap;"><script type="text/javascript">
												MsgVFrm(46969,798970,false,"","","");
											</script>Rate this message: <a href="#xx798970xx" onclick="RateMsg(46969, 798970,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx798970xx" title="vote this message a 1" onclick="RateMsg(46969, 798970, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx798970xx" title="vote this message a 2" onclick="RateMsg(46969, 798970, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx798970xx" title="vote this message a 3" onclick="RateMsg(46969, 798970, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx798970xx" title="vote this message a 4" onclick="RateMsg(46969, 798970, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx798970xx" title="vote this message a 5" onclick="RateMsg(46969, 798970, 5,0)"><b>5</b></a> <a href="#xx798970xx" onclick="RateMsg(46969, 798970,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx798970xx" title="Report as Abuse" onclick="return ReportMsg(46969
, 798970,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgRtDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd Rt HdUnSel " id="F798328_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="16px"><a name="xx798328xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="798328" href="http://www.codeproject.com/Messages/798328/Beautiful-Work-a-suggestion.aspx">Beautiful Work , a suggestion</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=294042">Hameedi</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">6:21 21 Apr '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F798328_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 16px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="16px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2">U
did a graet job , i like to suggest just one modification, just make
its window backgroud transparent , so that only clock is visible , and
it icon should be minimized into icontray , so we can put it on my
desktop.<br>After all , its a beautiful piece of work. <br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=798328&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=798328&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=798328" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/798328/Beautiful-Work-a-suggestion.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=798328&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF798328" style="white-space: nowrap;"><script type="text/javascript">
												MsgVFrm(294042,798328,false,"","","");
											</script>Rate this message: <a href="#xx798328xx" onclick="RateMsg(294042, 798328,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx798328xx" title="vote this message a 1" onclick="RateMsg(294042, 798328, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx798328xx" title="vote this message a 2" onclick="RateMsg(294042, 798328, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx798328xx" title="vote this message a 3" onclick="RateMsg(294042, 798328, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx798328xx" title="vote this message a 4" onclick="RateMsg(294042, 798328, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx798328xx" title="vote this message a 5" onclick="RateMsg(294042, 798328, 5,0)"><b>5</b></a> <a href="#xx798328xx" onclick="RateMsg(294042, 798328,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx798328xx" title="Report as Abuse" onclick="return ReportMsg(294042
, 798328,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd HdUnSel " id="F798959_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="34px"><a name="xx798959xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="798959" href="http://www.codeproject.com/Messages/798959/Re-Beautiful-Work-a-suggestion.aspx">Re: Beautiful Work , a suggestion</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=117364">Frank Hileman</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">15:32 21 Apr '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F798959_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 34px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="34px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2">This might require some work in VG.net. Thanks for the great idea!<img src="vgclock.aspx_files/smiley_smile.gif" alt="Smile" align="top"> <br><br>check out VG.net: <a href="http://www.vgdotnet.com/">www.vgdotnet.com</a><br>An animated vector graphics system integrated in VS.net<br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=798959&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=798959&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=798328" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/798959/Re-Beautiful-Work-a-suggestion.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=798959&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF798959" style="white-space: nowrap;"><script type="text/javascript">
												MsgVFrm(117364,798959,false,"","","");
											</script>Rate this message: <a href="#xx798959xx" onclick="RateMsg(117364, 798959,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx798959xx" title="vote this message a 1" onclick="RateMsg(117364, 798959, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx798959xx" title="vote this message a 2" onclick="RateMsg(117364, 798959, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx798959xx" title="vote this message a 3" onclick="RateMsg(117364, 798959, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx798959xx" title="vote this message a 4" onclick="RateMsg(117364, 798959, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx798959xx" title="vote this message a 5" onclick="RateMsg(117364, 798959, 5,0)"><b>5</b></a> <a href="#xx798959xx" onclick="RateMsg(117364, 798959,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx798959xx" title="Report as Abuse" onclick="return ReportMsg(117364
, 798959,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd HdUnSel " id="F799283_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="34px"><a name="xx799283xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="799283" href="http://www.codeproject.com/Messages/799283/Re-Beautiful-Work-a-suggestion.aspx">Re: Beautiful Work , a suggestion</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=31115">Hugo Hallman</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">1:32 22 Apr '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F799283_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 34px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="34px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2">Active (Html, if you remember<img src="vgclock.aspx_files/smiley_wink.gif" alt="Wink" align="top">) Desktop would be even cooler. Make this support embedding in html, and we have a killer! <br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=799283&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=799283&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=798328" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/799283/Re-Beautiful-Work-a-suggestion.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=799283&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF799283" style="white-space: nowrap;"><script type="text/javascript">
												MsgVFrm(31115,799283,false,"","","");
											</script>Rate this message: <a href="#xx799283xx" onclick="RateMsg(31115, 799283,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx799283xx" title="vote this message a 1" onclick="RateMsg(31115, 799283, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx799283xx" title="vote this message a 2" onclick="RateMsg(31115, 799283, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx799283xx" title="vote this message a 3" onclick="RateMsg(31115, 799283, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx799283xx" title="vote this message a 4" onclick="RateMsg(31115, 799283, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx799283xx" title="vote this message a 5" onclick="RateMsg(31115, 799283, 5,0)"><b>5</b></a> <a href="#xx799283xx" onclick="RateMsg(31115, 799283,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx799283xx" title="Report as Abuse" onclick="return ReportMsg(31115
, 799283,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd HdUnSel " id="F814986_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="52px"><a name="xx814986xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="814986" href="http://www.codeproject.com/Messages/814986/Re-Beautiful-Work-a-suggestion.aspx">Re: Beautiful Work , a suggestion</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=292834">pmartin</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">12:14 7 May '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F814986_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 52px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="52px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2">It would be even cooler because you can use http:// URL's has toolbar addresses. <br><br>So
all you need is a toolbar or your start bar docked vertically, add in a
tool bar point to some html containing the clock, and BINGO! You have
the clock in the start bar just like in LongHorn! <br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=814986&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=814986&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=798328" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/814986/Re-Beautiful-Work-a-suggestion.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=814986&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF814986" style="white-space: nowrap;"><script type="text/javascript">
												MsgVFrm(292834,814986,false,"","","");
											</script>Rate this message: <a href="#xx814986xx" onclick="RateMsg(292834, 814986,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx814986xx" title="vote this message a 1" onclick="RateMsg(292834, 814986, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx814986xx" title="vote this message a 2" onclick="RateMsg(292834, 814986, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx814986xx" title="vote this message a 3" onclick="RateMsg(292834, 814986, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx814986xx" title="vote this message a 4" onclick="RateMsg(292834, 814986, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx814986xx" title="vote this message a 5" onclick="RateMsg(292834, 814986, 5,0)"><b>5</b></a> <a href="#xx814986xx" onclick="RateMsg(292834, 814986,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx814986xx" title="Report as Abuse" onclick="return ReportMsg(292834
, 814986,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd HdUnSel " id="F815130_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="70px"><a name="xx815130xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="815130" href="http://www.codeproject.com/Messages/815130/Re-Beautiful-Work-a-suggestion.aspx">Re: Beautiful Work , a suggestion</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=31115">Hugo Hallman</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">15:01 7 May '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F815130_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 70px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="70px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2">Sorry, could you explain that a little? <br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=815130&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=815130&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=798328" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/815130/Re-Beautiful-Work-a-suggestion.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=815130&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF815130" style="white-space: nowrap;"><script type="text/javascript">
												MsgVFrm(31115,815130,false,"","","");
											</script>Rate this message: <a href="#xx815130xx" onclick="RateMsg(31115, 815130,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx815130xx" title="vote this message a 1" onclick="RateMsg(31115, 815130, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx815130xx" title="vote this message a 2" onclick="RateMsg(31115, 815130, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx815130xx" title="vote this message a 3" onclick="RateMsg(31115, 815130, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx815130xx" title="vote this message a 4" onclick="RateMsg(31115, 815130, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx815130xx" title="vote this message a 5" onclick="RateMsg(31115, 815130, 5,0)"><b>5</b></a> <a href="#xx815130xx" onclick="RateMsg(31115, 815130,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx815130xx" title="Report as Abuse" onclick="return ReportMsg(31115
, 815130,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd HiVote HdUnSel " id="F815954_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="88px"><a name="xx815954xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="815954" href="http://www.codeproject.com/Messages/815954/Re-Beautiful-Work-a-suggestion.aspx">Re: Beautiful Work , a suggestion</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=292834">pmartin</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">0:19 9 May '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F815954_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 88px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="88px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2">My apologies, I wrote that little message much too fast and I didn't read over it.<br><br>Since
the advent of Active Desktop, a little known fact is that we've been
able to display webpages inside the shell's toolbars, and also the
system task bar.<br><br>For example, in Windows XP:<br><br>- if you right click on the start bar<br>- go Toolbars-&gt;New Toolbar ...<br>- For the folder name, type in http://www.codeproject.com/<br>- click Ok<br><br><br>You will now have code project appear in your task bar. Just resize the task bar to get the full effect. <br><br>If
you consider this a little further, it means you can write your own web
pages on your pc, to hook in to your own ActiveX controls, or .Net
assemblies, java applets, anything, and have them display in your
toolbar. Ideal for the Avalon lookalike clock, or a todo list, or
anything.<br><br>I hope this clears up my haphazard explanation from earlier on. <br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=815954&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=815954&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=798328" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/815954/Re-Beautiful-Work-a-suggestion.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=815954&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF815954" style="white-space: nowrap;">5.00/5 (1 vote) <script type="text/javascript">
												MsgVFrm(292834,815954,false,"","","");
											</script>Rate this message: <a href="#xx815954xx" onclick="RateMsg(292834, 815954,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx815954xx" title="vote this message a 1" onclick="RateMsg(292834, 815954, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx815954xx" title="vote this message a 2" onclick="RateMsg(292834, 815954, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx815954xx" title="vote this message a 3" onclick="RateMsg(292834, 815954, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx815954xx" title="vote this message a 4" onclick="RateMsg(292834, 815954, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx815954xx" title="vote this message a 5" onclick="RateMsg(292834, 815954, 5,0)"><b>5</b></a> <a href="#xx815954xx" onclick="RateMsg(292834, 815954,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx815954xx" title="Report as Abuse" onclick="return ReportMsg(292834
, 815954,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd HdUnSel " id="F818679_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="106px"><a name="xx818679xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="818679" href="http://www.codeproject.com/Messages/818679/Re-Beautiful-Work-a-suggestion.aspx">Re: Beautiful Work , a suggestion</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=537409">codehacker38</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">17:52 11 May '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F818679_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 106px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="106px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2">OK,
I must admit I didn't know this trick. Interesting, especially with
your foresight into how it could be effectively used to display
components.<br><br>Thanks,<br>Dave <br><br>I'd give my right arm to be ambidextrous<br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=818679&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=818679&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=798328" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/818679/Re-Beautiful-Work-a-suggestion.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=818679&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF818679" style="white-space: nowrap;"><script type="text/javascript">
												MsgVFrm(537409,818679,false,"","","");
											</script>Rate this message: <a href="#xx818679xx" onclick="RateMsg(537409, 818679,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx818679xx" title="vote this message a 1" onclick="RateMsg(537409, 818679, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx818679xx" title="vote this message a 2" onclick="RateMsg(537409, 818679, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx818679xx" title="vote this message a 3" onclick="RateMsg(537409, 818679, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx818679xx" title="vote this message a 4" onclick="RateMsg(537409, 818679, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx818679xx" title="vote this message a 5" onclick="RateMsg(537409, 818679, 5,0)"><b>5</b></a> <a href="#xx818679xx" onclick="RateMsg(537409, 818679,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx818679xx" title="Report as Abuse" onclick="return ReportMsg(537409
, 818679,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd HdUnSel " id="F893163_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="116px"><a name="xx893163xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="893163" href="http://www.codeproject.com/Messages/893163/Re-Beautiful-Work-a-suggestion.aspx">Re: Beautiful Work , a suggestion</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=30271">Phillip Martin</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">16:08 8 Aug '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F893163_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 116px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="116px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2">I got really bored a couple of days ago, and did the same clock thing with SVG and a web server.<br><br>Its
not very flexible at the moment (i.e. restriced size, and I can't
figure out how to remove the develled edge from the IE window) but it
generally works.<br><br>Just add a toolbar (or active desktop component) pointing to http://www.eclipse-games.com/clock/clock.html<br><br>Feel free to take the .html file and svg file and put it on your own web server so you can customise the colours.<br><br>The
only downside to this technque is that you can't refer to local HTML
files, only remote ones with the http:// protocol prefix.<br><br>Have fun!<br><br>- Phil <br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=893163&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=893163&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=798328" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/893163/Re-Beautiful-Work-a-suggestion.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=893163&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF893163" style="white-space: nowrap;"><script type="text/javascript">
												MsgVFrm(30271,893163,false,"","","");
											</script>Rate this message: <a href="#xx893163xx" onclick="RateMsg(30271, 893163,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx893163xx" title="vote this message a 1" onclick="RateMsg(30271, 893163, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx893163xx" title="vote this message a 2" onclick="RateMsg(30271, 893163, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx893163xx" title="vote this message a 3" onclick="RateMsg(30271, 893163, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx893163xx" title="vote this message a 4" onclick="RateMsg(30271, 893163, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx893163xx" title="vote this message a 5" onclick="RateMsg(30271, 893163, 5,0)"><b>5</b></a> <a href="#xx893163xx" onclick="RateMsg(30271, 893163,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx893163xx" title="Report as Abuse" onclick="return ReportMsg(30271
, 893163,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr class="Quick">
					<td class="Frm_MsgDivide"><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="1px"></td>
				</tr>
<!-- Start Message head -->

				<tr class="MsgHd HdUnSel " id="F868834_h0">
					<td width="100%"><table class="QuickHd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" width="106px"><a name="xx868834xx"></a><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"></td><td class="Frm_MsgSubject"><a id="DynMessLink" name="868834" href="http://www.codeproject.com/Messages/868834/Re-Beautiful-Work-a-suggestion.aspx">Re: Beautiful Work , a suggestion</a> <a onclick="return Pin(this);" href="#" title="Click to pin message"><img src="vgclock.aspx_files/pin.gif" alt="Pin" align="top" border="0" width="13px" height="12px"></a></td><td style="width: 20px; white-space: nowrap;"><img src="vgclock.aspx_files/member_sm.gif" title="member" alt="member" border="0" height="16px"></td><td class="Frm_MsgAuthor"><a href="http://www.codeproject.com/script/Membership/View.aspx?mid=117364">Frank Hileman</a></td><td class="Frm_MsgDate" style="vertical-align: top; white-space: nowrap;">9:02 6 Jul '04 &nbsp;</td>
						</tr>
					</tbody></table></td>
				</tr><!-- End Message head -->

				<tr id="F868834_h1" style="display: none;">
					<td width="100%"><table class="QuickBd" border="0" cellpadding="0" cellspacing="0" width="100%">
						<tbody><tr>
							<td class="Frm_MsgIndent" style="width: 106px;"><img src="vgclock.aspx_files/t_002.gif" alt="" width="106px" height="1px"></td><td class="MsgBd BdSel "><table border="0" cellpadding="0" cellspacing="5px" width="100%">
								<tbody><tr>
									<td><table border="0" cellpadding="0" cellspacing="0" width="100%">
										<tbody><tr>
											<td colspan="2">Hello pmartin,<br><br>Thanks
for that great suggestion. We are going to try this for another
article. The only complexity is setting up the web server to display
the vg.net page.<br> <br><br>check out VG.net: <a href="http://www.vgdotnet.com/">www.vgdotnet.com</a><br>An animated vector graphics system integrated in VS.net<br></td>
										</tr><tr style="vertical-align: middle;">
											<td class="Frm_MsgFt"><a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=868834&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=r" title="Reply">Reply</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Forums/Edit.aspx?fid=38162&amp;select=868834&amp;floc=/KB/dotnet/vgclock.aspx&amp;action=e" title="Email">Email</a>·<a class="Frm_MHL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;tid=798328" title="View&nbsp;Thread">View&nbsp;Thread</a>·<a class="Frm_MHL" href="http://www.codeproject.com/Messages/868834/Re-Beautiful-Work-a-suggestion.aspx" title="Get permanent link">PermaLink</a>·<a class="Frm_MHL" href="http://www.codeproject.com/script/Bookmarks/Add.aspx?obid=868834&amp;obtid=3&amp;action=AddBookmark" title="Bookmark this post">Bookmark</a></td><td class="Frm_MsgFt" style="text-align: right;"><span id="MVF868834" style="white-space: nowrap;"><script type="text/javascript">
												MsgVFrm(117364,868834,false,"","","");
											</script>Rate this message: <a href="#xx868834xx" onclick="RateMsg(117364, 868834,1,0);"><img src="vgclock.aspx_files/thumbs_down.gif" alt="vote 1" align="middle" border="0" width="14" height="14"></a> <a class="Frm_MHL" href="#xx868834xx" title="vote this message a 1" onclick="RateMsg(117364, 868834, 1,0)"><b>1</b></a> <a class="Frm_MHL" href="#xx868834xx" title="vote this message a 2" onclick="RateMsg(117364, 868834, 2,0)"><b>2</b></a> <a class="Frm_MHL" href="#xx868834xx" title="vote this message a 3" onclick="RateMsg(117364, 868834, 3,0)"><b>3</b></a> <a class="Frm_MHL" href="#xx868834xx" title="vote this message a 4" onclick="RateMsg(117364, 868834, 4,0)"><b>4</b></a> <a class="Frm_MHL" href="#xx868834xx" title="vote this message a 5" onclick="RateMsg(117364, 868834, 5,0)"><b>5</b></a> <a href="#xx868834xx" onclick="RateMsg(117364, 868834,5,0);"><img src="vgclock.aspx_files/thumbs_up.gif" alt="vote 5" align="middle" border="0" width="14" height="14"></a> <br>[<a href="#xx868834xx" title="Report as Abuse" onclick="return ReportMsg(117364
, 868834,-2)">Vote to Remove Message</a>]
</span></td>
										</tr>
									</tbody></table></td>
								</tr>
							</tbody></table></td>
						</tr>
					</tbody></table></td>
				</tr><tr>
					<td><img src="vgclock.aspx_files/t_002.gif" alt="" border="0" width="1px" height="5px"></td>
				</tr>
			</tbody></table></td>
		</tr><tr>
			<td><table cellpadding="2px" cellspacing="0" width="100%">
				<tbody><tr class="Frm_Footer">
					<td>Last Visit: 20:36 7 Aug '09  &nbsp; &nbsp; Last Update: 19:51 8 Oct '09 </td><td style="text-align: right; white-space: nowrap;"><input id="_mbnUrl" value="/KB/dotnet/vgclock.aspx?fid=38162&amp;fr=26" type="hidden"><b>1</b><a class="Frm_HL" name="Frm_HoverNL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;fr=26#xx0xx">2</a> <a class="Frm_HL" name="Frm_HoverNL" href="http://www.codeproject.com/KB/dotnet/vgclock.aspx?fid=38162&amp;fr=26#xx0xx">Next »</a></td>
				</tr>
			</tbody></table></td>
		</tr>
	</tbody></table>
</div><p class="SmallText"><img src="vgclock.aspx_files/msg_general.gif" alt="General" align="top" width="16px" height="16px"> General &nbsp;&nbsp; <img src="vgclock.aspx_files/msg_news.gif" alt="News" align="top" width="16px" height="16px"> News &nbsp;&nbsp; <img src="vgclock.aspx_files/msg_question.gif" alt="Question" align="top" width="16px" height="16px"> Question &nbsp;&nbsp; <img src="vgclock.aspx_files/msg_answer.gif" alt="Answer" align="top" width="16px" height="16px"> Answer &nbsp;&nbsp; <img src="vgclock.aspx_files/msg_joke.gif" alt="Joke" align="top" width="16px" height="16px"> Joke &nbsp;&nbsp; <img src="vgclock.aspx_files/msg_rant.gif" alt="Rant" align="top" width="16px" height="16px"> Rant &nbsp;&nbsp; <img src="vgclock.aspx_files/msg_admin.gif" alt="Admin" align="top" width="16px" height="16px"> Admin &nbsp;&nbsp; </p>
<!-- Forum End -->




	
	</div>
	
	
	
	<table width="100%">
	<tbody><tr valign="top">
		<td class="TinyText" align="left">
		    <a id="ctl00_PermaLink" href="http://www.codeproject.com/script/Articles/Article.aspx?aid=6733">PermaLink</a> | 
			<a id="ctl00_PrivacyLink" href="http://www.codeproject.com/info/privacy.aspx">Privacy</a> |
			<a id="ctl00_TermsOfUseLink" href="http://www.codeproject.com/info/TermsOfUse.aspx">Terms of Use</a>
			<br>Last Updated: 18 Apr 2004<br>
			Editor: <a id="ctl00_ArticleEditor" href="http://www.codeproject.com/script/Membership/View.aspx?mid=36803">Marc Clifton</a><br>
		</td>
		<td class="TinyText" align="right" valign="top">
			Copyright 2004 by Marc Clifton<br>Everything else
			Copyright © <a href="mailto:webmaster@codeproject.com">CodeProject</a>, 1999-2009 <br>
			Web15 |
			<a id="ctl00_AdvertiseLink" href="http://www.codeproject.com/info/MediaKit.aspx">Advertise on the Code Project </a>
		</td>
	</tr>
	
	</tbody></table>
	
	<center>
		
	</center>

</div>
</div>	
	
<div>


</div>

<br>
<script type="text/javascript" language="Javascript" src="vgclock.aspx_files/oncopy.js"></script>
<script type="text/javascript" language="Javascript" src="vgclock.aspx_files/TogglePre.js"></script>
<script type="text/javascript" language="Javascript" src="vgclock.aspx_files/JobsSummaryRetriever.js"></script>
<script type="text/javascript" language="Javascript" src="vgclock.aspx_files/addto.js"></script>
<script type="text/javascript" language="Javascript" src="vgclock.aspx_files/bookmark.js"></script>
<script type="text/javascript" language="Javascript" src="vgclock.aspx_files/rateitem.js"></script>
<script type="text/javascript" language="Javascript">//<![CDATA[
if (document.all) try {window.attachEvent("oncopy",copyCode);}catch(e){};
var e=document;
if(e){if(document.all)try{e.attachEvent('onkeydown',LK);}catch(ex){} 
else e.addEventListener('keydown',LK, false);}

var e=document;
if(e){if(document.all)try{e.attachEvent('onkeyup',LK);}catch(ex){} 
else e.addEventListener('keyup',LK, false);}

var e=document;
if(e){if(document.all)try{e.attachEvent('onblur',LK);}catch(ex){} 
else e.addEventListener('blur',LK, false);}

var e=document.getElementById('ctl00_TopNavBar_Lounge');
if(e){if(document.all)try{e.attachEvent('onclick',LC);}catch(ex){} 
else e.addEventListener('click',LC, false);}

var e=document.getElementById('ctl00_TopNavBar_Soapbox');
if(e){if(document.all)try{e.attachEvent('onclick',LC);}catch(ex){} 
else e.addEventListener('click',LC, false);}

$(document).ready(function() {RetrieveJobsSummary('Th',6733,2,233,"23,24,26,78,81,98,103,107,118,139,153");});
var socialLinks = new social();
socialLinks.PlaceholderId="ATD";socialLinks.ObjectId=6733;
socialLinks.ObjectTypeId=2;
socialLinks.addtoMethod=1;
socialLinks.Horizontal=false;
socialLinks.Showname=true;
socialLinks.setupLinks("socialLinks", document.location.href,escape(document.title), 100, 0, "SmallText Bold", "AddTo");
socialLinks.setupMenu();
$('#ctl00_RateArticle_RateItemWrapper').css('display', '');

//]]></script>

</body></html>